Add more fixed bits to USAT16 encoding to filter out incorrect decodings.
authorOwen Anderson <resistor@mac.com>
Fri, 23 Sep 2011 21:57:50 +0000 (21:57 +0000)
committerOwen Anderson <resistor@mac.com>
Fri, 23 Sep 2011 21:57:50 +0000 (21:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140422 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb2.td

index 64c62adac3a1c5bfe28edb3b158dbb2a2a219e71..44804bdbf314aeebb29d4bc25f22185a5112ee7b 100644 (file)
@@ -2059,13 +2059,13 @@ def t2USAT16: T2SatI<(outs rGPR:$Rd), (ins imm0_15:$sat_imm, rGPR:$Rn),
                      NoItinerary,
                      "usat16", "\t$Rd, $sat_imm, $Rn", []>,
           Requires<[IsThumb2, HasThumb2DSP]> {
-  let Inst{31-27} = 0b11110;
-  let Inst{25-22} = 0b1110;
+  let Inst{31-22} = 0b1111001110;
   let Inst{20} = 0;
   let Inst{15} = 0;
   let Inst{21} = 1;        // sh = '1'
   let Inst{14-12} = 0b000; // imm3 = '000'
   let Inst{7-6} = 0b00;    // imm2 = '00'
+  let Inst{5-4} = 0b00;
 }
 
 def : T2Pat<(int_arm_ssat GPR:$a, imm:$pos), (t2SSAT imm:$pos, GPR:$a, 0)>;