[Object] Add some more LoongArch support
Add ELFObjectFileBase::getLoongArchFeatures, and return the proper ELF relative reloc type for LoongArch. Reviewed By: MaskRay, SixWeining Differential Revision: https://reviews.llvm.org/D138016
This commit is contained in:
parent
06846596eb
commit
28b4838a33
|
@ -56,6 +56,7 @@ class ELFObjectFileBase : public ObjectFile {
|
||||||
SubtargetFeatures getMIPSFeatures() const;
|
SubtargetFeatures getMIPSFeatures() const;
|
||||||
SubtargetFeatures getARMFeatures() const;
|
SubtargetFeatures getARMFeatures() const;
|
||||||
SubtargetFeatures getRISCVFeatures() const;
|
SubtargetFeatures getRISCVFeatures() const;
|
||||||
|
SubtargetFeatures getLoongArchFeatures() const;
|
||||||
|
|
||||||
StringRef getAMDGPUCPUName() const;
|
StringRef getAMDGPUCPUName() const;
|
||||||
|
|
||||||
|
|
|
@ -223,6 +223,8 @@ uint32_t llvm::object::getELFRelativeRelocationType(uint32_t Machine) {
|
||||||
break;
|
break;
|
||||||
case ELF::EM_BPF:
|
case ELF::EM_BPF:
|
||||||
break;
|
break;
|
||||||
|
case ELF::EM_LOONGARCH:
|
||||||
|
return ELF::R_LARCH_RELATIVE;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -342,6 +342,24 @@ SubtargetFeatures ELFObjectFileBase::getRISCVFeatures() const {
|
||||||
return Features;
|
return Features;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
SubtargetFeatures ELFObjectFileBase::getLoongArchFeatures() const {
|
||||||
|
SubtargetFeatures Features;
|
||||||
|
|
||||||
|
switch (getPlatformFlags() & ELF::EF_LOONGARCH_ABI_MODIFIER_MASK) {
|
||||||
|
case ELF::EF_LOONGARCH_ABI_SOFT_FLOAT:
|
||||||
|
break;
|
||||||
|
case ELF::EF_LOONGARCH_ABI_DOUBLE_FLOAT:
|
||||||
|
Features.AddFeature("d");
|
||||||
|
// D implies F according to LoongArch ISA spec.
|
||||||
|
[[fallthrough]];
|
||||||
|
case ELF::EF_LOONGARCH_ABI_SINGLE_FLOAT:
|
||||||
|
Features.AddFeature("f");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Features;
|
||||||
|
}
|
||||||
|
|
||||||
SubtargetFeatures ELFObjectFileBase::getFeatures() const {
|
SubtargetFeatures ELFObjectFileBase::getFeatures() const {
|
||||||
switch (getEMachine()) {
|
switch (getEMachine()) {
|
||||||
case ELF::EM_MIPS:
|
case ELF::EM_MIPS:
|
||||||
|
@ -350,6 +368,8 @@ SubtargetFeatures ELFObjectFileBase::getFeatures() const {
|
||||||
return getARMFeatures();
|
return getARMFeatures();
|
||||||
case ELF::EM_RISCV:
|
case ELF::EM_RISCV:
|
||||||
return getRISCVFeatures();
|
return getRISCVFeatures();
|
||||||
|
case ELF::EM_LOONGARCH:
|
||||||
|
return getLoongArchFeatures();
|
||||||
default:
|
default:
|
||||||
return SubtargetFeatures();
|
return SubtargetFeatures();
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding --defsym=LA64=1 \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --show-encoding --defsym=LA64=1 \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM,ASM-AND-OBJ64,ASM64 %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM,ASM-AND-OBJ64,ASM64 %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+d --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj --defsym=LA64=1 \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+d --filetype=obj --defsym=LA64=1 \
|
||||||
# RUN: | llvm-objdump -d --mattr=+d - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM-AND-OBJ64 %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM-AND-OBJ64 %s
|
||||||
|
|
||||||
## Support for the 'D' extension implies support for 'F'
|
## Support for the 'D' extension implies support for 'F'
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: fadd.s $fs5, $ft7, $fs1
|
# ASM-AND-OBJ: fadd.s $fs5, $ft7, $fs1
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: fldgt.s $fa3, $s4, $t1
|
# ASM-AND-OBJ: fldgt.s $fa3, $s4, $t1
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: bceqz $fcc6, 12
|
# ASM-AND-OBJ: bceqz $fcc6, 12
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: fcmp.caf.s $fcc0, $fa0, $fa1
|
# ASM-AND-OBJ: fcmp.caf.s $fcc0, $fa0, $fa1
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: ffint.s.w $fs6, $fa5
|
# ASM-AND-OBJ: ffint.s.w $fs6, $fa5
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: fld.s $ft15, $t3, 250
|
# ASM-AND-OBJ: fld.s $ft15, $t3, 250
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --show-encoding \
|
||||||
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
# RUN: | FileCheck --check-prefixes=ASM-AND-OBJ,ASM %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch32 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
# RUN: llvm-mc %s --triple=loongarch64 --mattr=+f --filetype=obj \
|
||||||
# RUN: | llvm-objdump -d --mattr=+f - \
|
# RUN: | llvm-objdump -d - \
|
||||||
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
# RUN: | FileCheck --check-prefix=ASM-AND-OBJ %s
|
||||||
|
|
||||||
# ASM-AND-OBJ: fmov.s $ft5, $ft15
|
# ASM-AND-OBJ: fmov.s $ft5, $ft15
|
||||||
|
|
|
@ -237,6 +237,7 @@ TEST(ELFTest, getELFRelocationTypeNameForLoongArch) {
|
||||||
|
|
||||||
TEST(ELFTest, getELFRelativeRelocationType) {
|
TEST(ELFTest, getELFRelativeRelocationType) {
|
||||||
EXPECT_EQ(ELF::R_VE_RELATIVE, getELFRelativeRelocationType(EM_VE));
|
EXPECT_EQ(ELF::R_VE_RELATIVE, getELFRelativeRelocationType(EM_VE));
|
||||||
|
EXPECT_EQ(ELF::R_LARCH_RELATIVE, getELFRelativeRelocationType(EM_LOONGARCH));
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is a test for the DataRegion helper struct, defined in ELF.h header.
|
// This is a test for the DataRegion helper struct, defined in ELF.h header.
|
||||||
|
|
Loading…
Reference in New Issue