diff options
author | Chris Lattner <sabre@nondot.org> | 2006-01-30 05:35:57 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-01-30 05:35:57 +0000 |
commit | 76afdc9a80cf078aebd0ec62dba0bfafe498b1dc (patch) | |
tree | 6b6145e650a7d51691b5ac2c1d6039369d4e820b /lib/Target/Sparc/FPMover.cpp | |
parent | 6f63001214215287b9bfe6cc066ab7caf83acb62 (diff) |
First step towards V9 instructions in the V8 backend, two conditional move
patterns. This allows emission of this code:
t1:
save -96, %o6, %o6
subcc %i0, %i1, %l0
move %icc, %i0, %i2
or %g0, %i2, %i0
restore %g0, %g0, %g0
retl
nop
instead of this:
t1:
save -96, %o6, %o6
subcc %i0, %i1, %l0
be .LBBt1_2 !
nop
.LBBt1_1: !
or %g0, %i2, %i0
.LBBt1_2: !
restore %g0, %g0, %g0
retl
nop
for this:
int %t1(int %a, int %b, int %c) {
%tmp.2 = seteq int %a, %b
%tmp3 = select bool %tmp.2, int %a, int %c
ret int %tmp3
}
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25809 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Sparc/FPMover.cpp')
0 files changed, 0 insertions, 0 deletions