Changes in directory llvm/lib/Target/Alpha:
AlphaInstrInfo.td updated: 1.124 -> 1.125 Readme.txt updated: 1.3 -> 1.4 --- Log message: catch constants more often --- Diffs of the changes: (+14 -16) AlphaInstrInfo.td | 14 ++++++++++++++ Readme.txt | 16 ---------------- 2 files changed, 14 insertions(+), 16 deletions(-) Index: llvm/lib/Target/Alpha/AlphaInstrInfo.td diff -u llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.124 llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.125 --- llvm/lib/Target/Alpha/AlphaInstrInfo.td:1.124 Mon Sep 18 13:01:03 2006 +++ llvm/lib/Target/Alpha/AlphaInstrInfo.td Wed Sep 20 10:05:49 2006 @@ -214,6 +214,20 @@ def : Pat<(select GPRC:$which, GPRC:$src1, immUExt8:$src2), (CMOVEQi GPRC:$src1, immUExt8:$src2, GPRC:$which)>; +//Invert sense when we can for constants: +def : Pat<(select (seteq GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVEQi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; +def : Pat<(select (setne GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVNEi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; +def : Pat<(select (setgt GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVGTi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; +def : Pat<(select (setge GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVGEi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; +def : Pat<(select (setlt GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVLTi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; +def : Pat<(select (setle GPRC:$RCOND, 0), immUExt8:$RFALSE, GPRC:$RTRUE), + (CMOVLEi GPRC:$RTRUE, immUExt8:$RFALSE, GPRC:$RCOND)>; + def ADDL : OForm< 0x10, 0x00, "addl $RA,$RB,$RC", [(set GPRC:$RC, (intop (add GPRC:$RA, GPRC:$RB)))], s_iadd>; Index: llvm/lib/Target/Alpha/Readme.txt diff -u llvm/lib/Target/Alpha/Readme.txt:1.3 llvm/lib/Target/Alpha/Readme.txt:1.4 --- llvm/lib/Target/Alpha/Readme.txt:1.3 Wed Sep 20 09:48:00 2006 +++ llvm/lib/Target/Alpha/Readme.txt Wed Sep 20 10:05:49 2006 @@ -1,20 +1,4 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -Fix cmovs with a constant on the wrong side - -aka: - lda $0,10($31) - cmovlt $17,$0,$16 - -is bad for: - -long %cmov_lt2(long %a, long %c) { -entry: - %tmp.1 = setlt long %c, 0 - %retval = select bool %tmp.1, long 10, long %a - ret long %retval -} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fix Ordered/Unordered FP stuff _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits