1; RUN: llc < %s -mtriple=x86_64-darwin | FileCheck %s 2 3; CHECK-LABEL: LCPI0_0: 4; CHECK-NEXT: .long 4286578688 5; CHECK-LABEL: LCPI0_1: 6; CHECK-NEXT: .long 2139095040 7 8; CHECK-LABEL: foo: 9; CHECK: testb $-128, -15(%rsp) 10; CHECK: flds LCPI0_0(%rip) 11; CHECK: flds LCPI0_1(%rip) 12; CHECK: fcmovne %st(1), %st(0) 13; CHECK: fstp %st(1) 14; CHECK: retq 15define x86_fp80 @foo(x86_fp80 %a) { 16 %1 = tail call x86_fp80 @copysignl(x86_fp80 0xK7FFF8000000000000000, x86_fp80 %a) nounwind readnone 17 ret x86_fp80 %1 18} 19 20declare x86_fp80 @copysignl(x86_fp80, x86_fp80) nounwind readnone 21 22; This would crash: 23; https://llvm.org/bugs/show_bug.cgi?id=26070 24 25define float @pr26070() { 26 %c = call float @copysignf(float 1.0, float undef) readnone 27 ret float %c 28 29; CHECK-LABEL: pr26070: 30; CHECK: andps 31; CHECK-NEXT: orps 32; CHECK-NEXT: retq 33} 34 35declare float @copysignf(float, float) 36 37