45 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=arm-eabihf -mattr=+neon < %s | FileCheck -check-prefixes=CHECK-NO_NEON %s3; RUN: llc -mtriple=arm-eabihf -mattr=+neon,+neonfp < %s | FileCheck -check-prefixes=CHECK-NEON %s4 5define float @max_f32(float, float) {6; CHECK-NO_NEON-LABEL: max_f32:7; CHECK-NO_NEON: @ %bb.0:8; CHECK-NO_NEON-NEXT: vcmp.f32 s1, s09; CHECK-NO_NEON-NEXT: vmrs APSR_nzcv, fpscr10; CHECK-NO_NEON-NEXT: vmovgt.f32 s0, s111; CHECK-NO_NEON-NEXT: mov pc, lr12;13; CHECK-NEON-LABEL: max_f32:14; CHECK-NEON: @ %bb.0:15; CHECK-NEON-NEXT: vcmp.f32 s1, s016; CHECK-NEON-NEXT: vmrs APSR_nzcv, fpscr17; CHECK-NEON-NEXT: vmovgt.f32 s0, s118; CHECK-NEON-NEXT: mov pc, lr19 %3 = call nnan float @llvm.maxnum.f32(float %1, float %0)20 ret float %321}22 23declare float @llvm.maxnum.f32(float, float) #124 25define float @min_f32(float, float) {26; CHECK-NO_NEON-LABEL: min_f32:27; CHECK-NO_NEON: @ %bb.0:28; CHECK-NO_NEON-NEXT: vcmp.f32 s1, s029; CHECK-NO_NEON-NEXT: vmrs APSR_nzcv, fpscr30; CHECK-NO_NEON-NEXT: vmovlt.f32 s0, s131; CHECK-NO_NEON-NEXT: mov pc, lr32;33; CHECK-NEON-LABEL: min_f32:34; CHECK-NEON: @ %bb.0:35; CHECK-NEON-NEXT: vcmp.f32 s1, s036; CHECK-NEON-NEXT: vmrs APSR_nzcv, fpscr37; CHECK-NEON-NEXT: vmovlt.f32 s0, s138; CHECK-NEON-NEXT: mov pc, lr39 %3 = call nnan float @llvm.minnum.f32(float %1, float %0)40 ret float %341}42 43declare float @llvm.minnum.f32(float, float) #144 45