; RUN: llc < %s -fast-isel -fast-isel-abort -march=x86-64 | FileCheck %s
; RUN: llc < %s -fast-isel -march=x86 | grep xor | count 2

; CHECK: doo:
; CHECK: xor
define double @doo(double %x) nounwind {
  %y = fsub double -0.0, %x
  ret double %y
}

; CHECK: foo:
; CHECK: xor
define float @foo(float %x) nounwind {
  %y = fsub float -0.0, %x
  ret float %y
}

; RUN: llc < %s -fast-isel -fast-isel-abort -march=x86-64 | FileCheck %s
; RUN: llc < %s -fast-isel -march=x86 -mattr=+sse2 | grep xor | count 2

; CHECK: doo:
; CHECK: xor
define double @doo(double %x) nounwind {
  %y = fsub double -0.0, %x
  ret double %y
}

; CHECK: foo:
; CHECK: xor
define float @foo(float %x) nounwind {
  %y = fsub float -0.0, %x
  ret float %y
}

Add -mattr=+sse2 to the -march=x86 version of this test. Without sse, this code falls back to SelectionDAG isel which uses an x87 instruction, which is fine, but not what this test is testing for.
Add -mattr=+sse2 to the -march=x86 version of this test. Without
sse, this code falls back to SelectionDAG isel which uses an x87
instruction, which is fine, but not what this test is testing for.


git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@81656 91177308-0d34-0410-b5e6-96231b3b80d8
