Fixed some bugs in register stack pass.
[llvm/zpu.git] / test / CodeGen / X86 / fsxor-alignment.ll
blob6a8dbcfaa7c3b2b30d1c2c1bb257627032d788a3
1 ; RUN: llc < %s -march=x86 -mattr=+sse2 -enable-unsafe-fp-math | \
2 ; RUN:  grep -v sp | grep xorps | count 2
4 ; Don't fold the incoming stack arguments into the xorps instructions used
5 ; to do floating-point negations, because the arguments aren't vectors
6 ; and aren't vector-aligned.
8 define void @foo(float* %p, float* %q, float %s, float %y) {
9   %ss = fsub float -0.0, %s
10   %yy = fsub float -0.0, %y
11   store float %ss, float* %p
12   store float %yy, float* %q
13   ret void