52 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=-sse,-sse2,-sse3 | FileCheck %s --check-prefix=X873; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=-sse,-sse2,-sse3 -enable-no-nans-fp-math | FileCheck %s --check-prefix=X87UNSAFE4; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s --check-prefix=X645 6declare float @fabsf(float)7declare x86_fp80 @fabsl(x86_fp80)8 9define float @test1(float %X) {10; X87-LABEL: test1:11; X87: # %bb.0:12; X87-NEXT: flds {{[0-9]+}}(%esp)13; X87-NEXT: fabs14; X87-NEXT: retl15;16; X87UNSAFE-LABEL: test1:17; X87UNSAFE: # %bb.0:18; X87UNSAFE-NEXT: flds {{[0-9]+}}(%esp)19; X87UNSAFE-NEXT: fabs20; X87UNSAFE-NEXT: retl21;22; X64-LABEL: test1:23; X64: # %bb.0:24; X64-NEXT: andps {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm025; X64-NEXT: retq26 %Y = call float @fabsf(float %X) readnone27 ret float %Y28}29 30define x86_fp80 @test2(x86_fp80 %X) {31; X87-LABEL: test2:32; X87: # %bb.0:33; X87-NEXT: fldt {{[0-9]+}}(%esp)34; X87-NEXT: fabs35; X87-NEXT: retl36;37; X87UNSAFE-LABEL: test2:38; X87UNSAFE: # %bb.0:39; X87UNSAFE-NEXT: fldt {{[0-9]+}}(%esp)40; X87UNSAFE-NEXT: fabs41; X87UNSAFE-NEXT: retl42;43; X64-LABEL: test2:44; X64: # %bb.0:45; X64-NEXT: fldt {{[0-9]+}}(%rsp)46; X64-NEXT: fabs47; X64-NEXT: retq48 %Y = call x86_fp80 @fabsl(x86_fp80 %X) readnone49 ret x86_fp80 %Y50}51 52