xref: /aosp_15_r20/external/llvm/test/CodeGen/X86/fast-isel-fneg.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -fast-isel -fast-isel-abort=1 -mtriple=x86_64-apple-darwin10 | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -fast-isel -march=x86 -mattr=+sse2 | FileCheck --check-prefix=SSE2 %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Worker; SSE2: xor
5*9880d681SAndroid Build Coastguard Worker; SSE2: xor
6*9880d681SAndroid Build Coastguard Worker; SSE2-NOT: xor
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: doo:
9*9880d681SAndroid Build Coastguard Worker; CHECK: xor
10*9880d681SAndroid Build Coastguard Workerdefine double @doo(double %x) nounwind {
11*9880d681SAndroid Build Coastguard Worker  %y = fsub double -0.0, %x
12*9880d681SAndroid Build Coastguard Worker  ret double %y
13*9880d681SAndroid Build Coastguard Worker}
14*9880d681SAndroid Build Coastguard Worker
15*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: foo:
16*9880d681SAndroid Build Coastguard Worker; CHECK: xor
17*9880d681SAndroid Build Coastguard Workerdefine float @foo(float %x) nounwind {
18*9880d681SAndroid Build Coastguard Worker  %y = fsub float -0.0, %x
19*9880d681SAndroid Build Coastguard Worker  ret float %y
20*9880d681SAndroid Build Coastguard Worker}
21