llvm-6502/lib/Target/Alpha
2006-09-07 22:06:40 +00:00
..
.cvsignore
Alpha.h
Alpha.td
AlphaAsmPrinter.cpp Make target asm info a property of the target machine. 2006-09-07 22:06:40 +00:00
AlphaCodeEmitter.cpp Resolve BB references with relocation. 2006-07-27 18:21:10 +00:00
AlphaInstrFormats.td
AlphaInstrInfo.cpp
AlphaInstrInfo.h
AlphaInstrInfo.td CALLSEQ_* produces chain even if that's not needed. 2006-08-11 09:03:33 +00:00
AlphaISelDAGToDAG.cpp Do not use getTargetNode() and SelectNodeTo() which takes more than 3 2006-08-27 08:14:06 +00:00
AlphaISelLowering.cpp jmp_bufs are this big on alpha. 2006-09-05 00:22:25 +00:00
AlphaISelLowering.h
AlphaJITInfo.cpp Resolve BB references with relocation. 2006-07-27 18:21:10 +00:00
AlphaJITInfo.h Completely rearchitect the interface between targets and the pass manager. 2006-09-04 04:14:57 +00:00
AlphaRegisterInfo.cpp Completely eliminate def&use operands. Now a register operand is EITHER a 2006-09-05 02:31:13 +00:00
AlphaRegisterInfo.h
AlphaRegisterInfo.td Constify some methods. Patch provided by Anton Vayvod, thanks! 2006-08-17 22:00:08 +00:00
AlphaRelocations.h
AlphaSchedule.td
AlphaSubtarget.cpp
AlphaSubtarget.h
AlphaTargetAsmInfo.cpp Break out target asm info into separate files. 2006-09-07 22:05:02 +00:00
AlphaTargetAsmInfo.h Break out target asm info into separate files. 2006-09-07 22:05:02 +00:00
AlphaTargetMachine.cpp Make target asm info a property of the target machine. 2006-09-07 22:06:40 +00:00
AlphaTargetMachine.h Make target asm info a property of the target machine. 2006-09-07 22:06:40 +00:00
Makefile
README.txt

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Fix Ordered/Unordered FP stuff


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
improve bytezap opertunities
ulong %foo(ulong %y) {
entry:
        %tmp = and ulong %y,  65535
        %tmp2 = shr ulong %tmp,  ubyte 3
        ret ulong %tmp2
}


compiles to a 3 instruction sequence without instcombine
        zapnot $16,3,$0
        srl $0,3,$0
        ret $31,($26),1
 
After instcombine you get
ulong %foo(ulong %y) {
entry:
        %tmp = shr ulong %y, ubyte 3            ; <ulong> [#uses=1]
        %tmp2 = and ulong %tmp, 8191            ; <ulong> [#uses=1]
        ret ulong %tmp2
}

which compiles to
        lda $0,8191($31)
        srl $16,3,$1
        and $1,$0,$0
        ret $31,($26),1