Fix encodings for pkhbt, and fix some tests where I accidentally tested ARM mode instead of Thumb2.

llvm-svn: 119755
This commit is contained in:
Owen Anderson 2010-11-18 23:29:56 +00:00
parent 14ee344944
commit 3517585249
2 changed files with 26 additions and 20 deletions

View File

@ -2536,9 +2536,9 @@ def t2PKHBT : T2ThreeReg<
let Inst{5} = 0; // BT form
let Inst{4} = 0;
bits<5> sh;
let Inst{14-12} = sh{4-2};
let Inst{7-6} = sh{1-0};
bits<8> sh;
let Inst{14-12} = sh{7-5};
let Inst{7-6} = sh{4-3};
}
// Alternate cases for PKHBT where identities eliminate some nodes.
@ -2564,9 +2564,9 @@ def t2PKHTB : T2ThreeReg<
let Inst{5} = 1; // TB form
let Inst{4} = 0;
bits<5> sh;
let Inst{14-12} = sh{4-2};
let Inst{7-6} = sh{1-0};
bits<8> sh;
let Inst{14-12} = sh{7-5};
let Inst{7-6} = sh{4-3};
}
// Alternate cases for PKHTB where identities eliminate some nodes. Note that

View File

@ -69,29 +69,35 @@
@ CHECK: mls r0, r0, r1, r2 @ encoding: [0x11,0x20,0x00,0xfb]
mls r0, r0, r1, r2
@ CHECK: smlabt r0, r1, r2, r0 @ encoding: [0xc1,0x02,0x00,0xe1]
@ CHECK: smlabt r0, r1, r2, r0 @ encoding: [0x12,0x00,0x11,0xfb]
smlabt r0, r1, r2, r0
@ CHECK: clz r0, r0 @ encoding: [0x10,0x0f,0x6f,0xe1]
@ CHECK: clz r0, r0 @ encoding: [0x80,0xf0,0xb0,0xfa]
clz r0, r0
@ CHECK: rev r0, r0 @ encoding: [0x30,0x0f,0xbf,0xe6]
rev r0, r0
@ CHECK: revsh r0, r0 @ encoding: [0xb0,0x0f,0xff,0xe6]
revsh r0, r0
@ CHECK: pkhbt r0, r0, r1, lsl #16 @ encoding: [0x11,0x08,0x80,0xe6]
@ CHECK: pkhbt r0, r0, r1, lsl #16 @ encoding: [0x01,0x40,0xc0,0xea]
pkhbt r0, r0, r1, lsl #16
@ CHECK: pkhbt r0, r0, r1, lsl #12 @ encoding: [0x11,0x06,0x80,0xe6]
@ CHECK: pkhbt r0, r0, r1, lsl #12 @ encoding: [0x01,0x30,0xc0,0xea]
pkhbt r0, r0, r1, lsl #16
@ CHECK: pkhbt r0, r0, r1, lsl #18 @ encoding: [0x11,0x09,0x80,0xe6]
@ CHECK: pkhbt r0, r0, r1, lsl #18 @ encoding: [0x81,0x40,0xc0,0xea]
pkhbt r0, r0, r1, lsl #18
@ CHECK: pkhbt r0, r0, r1 @ encoding: [0x11,0x00,0x80,0xe6]
@ CHECK: pkhbt r0, r0, r1 @ encoding: [0x01,0x00,0xc0,0xea]
pkhbt r0, r0, r1
@ CHECK: pkhtb r0, r0, r1, asr #16 @ encoding: [0x51,0x08,0x80,0xe6]
@ CHECK: pkhtb r0, r0, r1, asr #16 @ encoding: [0x21,0x40,0xc0,0xea]
pkhtb r0, r0, r1, asr #16
@ CHECK: pkhtb r0, r0, r1, asr #12 @ encoding: [0x51,0x06,0x80,0xe6]
@ CHECK: pkhtb r0, r0, r1, asr #12 @ encoding: [0x21,0x30,0xc0,0xea]
pkhtb r0, r0, r1, asr #12
@ CHECK: pkhtb r0, r0, r1, asr #18 @ encoding: [0x51,0x09,0x80,0xe6]
@ CHECK: pkhtb r0, r0, r1, asr #18 @ encoding: [0xa1,0x40,0xc0,0xea]
pkhtb r0, r0, r1, asr #18
@ CHECK: pkhtb r0, r0, r1, asr #22 @ encoding: [0x51,0x0b,0x80,0xe6]
@ CHECK: pkhtb r0, r0, r1, asr #22 @ encoding: [0xa1,0x50,0xc0,0xea]
pkhtb r0, r0, r1, asr #22
@ CHECK: dmb st @ encoding: [0x5e,0x8f,0xbf,0xf3]
dmb st
@ CHECK: dmb sy @ encoding: [0x5f,0x8f,0xbf,0xf3]
dmb sy
@ CHECK: dmb ishst @ encoding: [0x5a,0x8f,0xbf,0xf3]
dmb ishst
@ CHECK: dmb ish @ encoding: [0x5b,0x8f,0xbf,0xf3]
dmb ish