- Apr 08, 2011
-
-
Johnny Chen authored
llvm-svn: 129148
-
Johnny Chen authored
PR9650 rdar://problem/9257565 llvm-svn: 129147
-
Johnny Chen authored
PR9648 rdar://problem/9257634 llvm-svn: 129146
-
Jim Grosbach authored
The previous cleanup of LDRD got overzealous and removed it, causing post-RA scheduling to get overzealous in breaking antidependencies and invalidate these instructions. Hilarity and invalid assembly ensued. rdar://9244161 llvm-svn: 129144
-
Johnny Chen authored
Add more test cases to exercise the logical branches related to the above change. llvm-svn: 129117
-
- Apr 07, 2011
-
-
Bill Wendling authored
with the newer, cleaner model. It uses the IAPrinter class to hold the information that is needed to match an instruction with its alias. This also takes into account the available features of the platform. There is one bit of ugliness. The way the logic determines if a pattern is unique is O(N**2), which is gross. But in reality, the number of items it's checking against isn't large. So while it's N**2, it shouldn't be a massive time sink. llvm-svn: 129110
-
-
Akira Hatanaka authored
llvm-svn: 129105
-
Akira Hatanaka authored
llvm-svn: 129104
-
Mon P Wang authored
llvm-svn: 129101
-
Akira Hatanaka authored
llvm-svn: 129099
-
Johnny Chen authored
Add some test cases. llvm-svn: 129098
-
Johnny Chen authored
llvm-svn: 129096
-
Johnny Chen authored
And two test cases. llvm-svn: 129090
-
Tanya Lattner authored
Prevent ARM DAG Combiner from doing an AND or OR combine on an illegal vector type (vectors of size 3). Also included test cases. llvm-svn: 129074
-
Johnny Chen authored
rdar://problem/9246844 llvm-svn: 129050
-
Johnny Chen authored
The ARM disassembler was not recognizing USADA8 instruction. Need to add checking for register values for USAD8 and USADA8. rdar://problem/9247060 llvm-svn: 129047
-
Evan Cheng authored
llvm-svn: 129045
-
Johnny Chen authored
rdar://problem/9246650 llvm-svn: 129042
-
Owen Anderson authored
Teach the ARM peephole optimizer that RSB, RSC, ADC, and SBC can be used for folded comparisons, just like ADD and SUB. llvm-svn: 129038
-
Owen Anderson authored
llvm-svn: 129036
-
Jim Grosbach authored
llvm-svn: 129034
-
Johnny Chen authored
The ARM disassembler should reject invalid (type, align) encodings as invalid instructions. So, instead of: Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ------------------------------------------------------------------------------------------------- | 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1| ------------------------------------------------------------------------------------------------- vst2.32 {d0, d2}, [r3, :256], r3 we now have: Opcode=1641 Name=VST2b32_UPD Format=ARM_FORMAT_NLdSt(30) 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ------------------------------------------------------------------------------------------------- | 1: 1: 1: 1| 0: 1: 0: 0| 0: 0: 0: 0| 0: 0: 1: 1| 0: 0: 0: 0| 1: 0: 0: 1| 1: 0: 1: 1| 0: 0: 1: 1| ------------------------------------------------------------------------------------------------- mc-input.txt:1:1: warning: invalid instruction encoding 0xb3 0x9 0x3 0xf4 ^ llvm-svn: 129033
-
- Apr 06, 2011
-
-
Johnny Chen authored
Since these "Advanced SIMD and VFP" instructions have more specfic encoding bits specified, if coproc == 10 or 11, we should reject the insn as invalid. rdar://problem/9239922 rdar://problem/9239596 llvm-svn: 129027
-
Johnny Chen authored
Also set the encoding bits (for A8.6.303, A8.6.328, A8.6.329) Inst{3-0} = 0b0000, in class NVLaneOp. rdar://problem/9240648 llvm-svn: 129015
-
Rafael Espindola authored
llvm-svn: 129012
-
Rafael Espindola authored
Change the test to force a sign extension and expose the problem again. llvm-svn: 129011
-
Johnny Chen authored
Add more complete sanity check for LdStFrm instructions where if IBit (Inst{25}) is 1, Inst{4} should be 0. Otherwise, we should reject the insn as invalid. rdar://problem/9239347 rdar://problem/9239467 llvm-svn: 128977
-
Owen Anderson authored
Reapply r128946 (pseudoization of various instructions), and fix the extra imp-def of CPSR it was adding. llvm-svn: 128965
-
Johnny Chen authored
encodings for DisassembleArithMiscFrm(). rdar://problem/9238659 llvm-svn: 128958
-
Bob Wilson authored
llvm-svn: 128953
-
Owen Anderson authored
llvm-svn: 128951
-
Johnny Chen authored
Qd -> bit[12] == 0 Qn -> bit[16] == 0 Qm -> bit[0] == 0 If one of these bits is 1, the instruction is UNDEFINED. rdar://problem/9238399 rdar://problem/9238445 llvm-svn: 128949
-
Owen Anderson authored
llvm-svn: 128946
-
Johnny Chen authored
Added checks for regs which should not be 15. rdar://problem/9237734 llvm-svn: 128945
-
- Apr 05, 2011
-
-
Johnny Chen authored
For register-controlled shifts, we should check that the encoding constraint Inst{7} = 0 and Inst{4} = 1 is satisfied. rdar://problem/9237693 llvm-svn: 128941
-
Owen Anderson authored
Fix bugs in the pseuo-ization of ADCS/SBCS pointed out by Jim, as well as doing the expansion earlier (using a custom inserter) to allow for the chance of predicating these instructions. llvm-svn: 128940
-
Johnny Chen authored
Modify DisassembleCoprocessor() of ARMDisassemblerCore.cpp to react to the change. rdar://problem/9236873 llvm-svn: 128922
-
Johnny Chen authored
llvm-svn: 128913
-
Jim Grosbach authored
Finish what r128736 started. llvm-svn: 128903
-