31 lines · plain
1; RUN: llc -mtriple=mips -mcpu=mips32 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS322; RUN: llc -mtriple=mips -mcpu=mips32r2 -mattr=+abs2008,+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MIPS32FP643; RUN: llc -mtriple=mips -mcpu=mips32r3 -mattr=+abs2008,+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MM4; RUN: llc -mtriple=mips -mcpu=mips32r3 -mattr=+abs2008,+micromips,+fp64 -asm-show-inst < %s | FileCheck %s --check-prefix=MMFP645; RUN: llc -mtriple=mips -mcpu=mips32r6 -mattr=+micromips -asm-show-inst < %s | FileCheck %s --check-prefix=MMR66 7define float @abs_s(float %a) {8; MIPS32: {{(ori|ins)}}9; MIPS32-NOT: abs.s10; MIPS32FP64: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S11; MM: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM12; MMFP64: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM13; MMR6: abs.s {{.*}} # <MCInst #{{[0-9]+}} FABS_S_MM14 %ret = call float @llvm.fabs.f32(float %a)15 ret float %ret16}17 18define double @abs_d(double %a) {19; MIPS32: {{(ori|ins|dsll)}}20; MIPS32-NOT: abs.d21; MIPS32FP64: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D6422; MM: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D32_MM23; MMFP64: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D64_MM24; MMR6: abs.d {{.*}} # <MCInst #{{[0-9]+}} FABS_D64_MM25 %ret = call double @llvm.fabs.f64(double %a)26 ret double %ret27}28 29declare float @llvm.fabs.f32(float %a)30declare double @llvm.fabs.f64(double %a)31