[llvm-commits] [llvm] r80696 - in /llvm/trunk/lib/Target/X86: X86Instr64bit.td X86InstrInfo.td
Daniel Dunbar
daniel at zuster.org
Wed Sep 2 20:00:50 PDT 2009
Do we need a new convention for naming these kinds of instructions?
TEST32i32 is a little confusing to me...
- Daniel
On Tue, Sep 1, 2009 at 11:14 AM, Sean Callanan<scallanan at apple.com> wrote:
> Author: spyffe
> Date: Tue Sep 1 13:14:18 2009
> New Revision: 80696
>
> URL: http://llvm.org/viewvc/llvm-project?rev=80696&view=rev
> Log:
> Added TEST %rAX, $imm instructions to the Intel tables. These are required for the X86 disassembler.
>
> Modified:
> llvm/trunk/lib/Target/X86/X86Instr64bit.td
> llvm/trunk/lib/Target/X86/X86InstrInfo.td
>
> Modified: llvm/trunk/lib/Target/X86/X86Instr64bit.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86Instr64bit.td?rev=80696&r1=80695&r2=80696&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86Instr64bit.td (original)
> +++ llvm/trunk/lib/Target/X86/X86Instr64bit.td Tue Sep 1 13:14:18 2009
> @@ -984,6 +984,8 @@
>
> // Integer comparison
> let Defs = [EFLAGS] in {
> +def TEST64i32 : RI<0xa9, RawFrm, (outs), (ins i32imm:$src),
> + "test{q}\t{$src, %rax|%rax, $src}", []>;
> let isCommutable = 1 in
> def TEST64rr : RI<0x85, MRMDestReg, (outs), (ins GR64:$src1, GR64:$src2),
> "test{q}\t{$src2, $src1|$src1, $src2}",
>
> Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=80696&r1=80695&r2=80696&view=diff
>
> ==============================================================================
> --- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
> +++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Tue Sep 1 13:14:18 2009
> @@ -2753,6 +2753,13 @@
> (implicit EFLAGS)]>;
> }
>
> +def TEST8i8 : Ii8<0xA8, RawFrm, (outs), (ins i8imm:$src),
> + "test{b}\t{$src, %al|%al, $src}", []>;
> +def TEST16i16 : Ii16<0xA9, RawFrm, (outs), (ins i16imm:$src),
> + "test{w}\t{$src, %ax|%ax, $src}", []>, OpSize;
> +def TEST32i32 : Ii32<0xA9, RawFrm, (outs), (ins i32imm:$src),
> + "test{l}\t{$src, %eax|%eax, $src}", []>;
> +
> def TEST8rm : I<0x84, MRMSrcMem, (outs), (ins GR8 :$src1, i8mem :$src2),
> "test{b}\t{$src2, $src1|$src1, $src2}",
> [(X86cmp (and GR8:$src1, (loadi8 addr:$src2)), 0),
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
More information about the llvm-commits
mailing list