mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 03:33:20 +01:00
ac6561793c
foldMemoryOperand how to "fold" them, by converting them into constant-pool loads. When they aren't folded, they use xorps/cmpeqd, but for example when register pressure is high, they may now be folded as memory operands, which reduces register pressure. Also, mark V_SET0 isAsCheapAsAMove so that two-address-elimination will remat it instead of copying zeros around (V_SETALLONES was already marked). llvm-svn: 60461
12 lines
361 B
LLVM
12 lines
361 B
LLVM
; RUN: llvm-as < %s | llc -march=x86 -mattr=+sse2 > %t
|
|
; RUN: grep pcmpeqd %t | count 1
|
|
; RUN: grep xor %t | count 1
|
|
; RUN: not grep LCP %t
|
|
|
|
define <2 x double> @foo() nounwind {
|
|
ret <2 x double> bitcast (<2 x i64><i64 -1, i64 -1> to <2 x double>)
|
|
}
|
|
define <2 x double> @bar() nounwind {
|
|
ret <2 x double> bitcast (<2 x i64><i64 0, i64 0> to <2 x double>)
|
|
}
|