Daniel Sanders
3c7223133d
[mips][ias] Range check uimm10 operands
...
Summary:
Reviewers: vkalintiris
Subscribers: dsanders, llvm-commits
Differential Revision: http://reviews.llvm.org/D15229
llvm-svn: 255112
2015-12-09 13:48:05 +00:00
Zlatko Buljan
48f1f39bfe
Revert r254897 "[mips][microMIPS] Implement LH, LHE, LHU and LHUE instructions"
...
Commited patch was intended to implement LH, LHE, LHU and LHUE instructions.
After commit test-suite failed with error message in the form of:
fatal error: error in backend: Cannot select: t124: i32,ch = load<LD2[%d](tbaa=<0x94acc48>), sext from i16> t0, t2, undef:i32
For that reason I decided to revert commit r254897 and make new patch which besides implementation and standard regression tests will also have dedicated tests (CodeGen) for the above error.
llvm-svn: 255109
2015-12-09 13:07:45 +00:00
Zlatko Buljan
1a01c15027
[mips][microMIPS] Implement LH, LHE, LHU and LHUE instructions
...
Differential Revision: http://reviews.llvm.org/D9824
llvm-svn: 254897
2015-12-07 08:29:31 +00:00
Daniel Sanders
daa4b6fbd9
[mips][ias] Range check uimm5 operands and fix several bugs this revealed.
...
Summary:
The bugs were:
* append, prepend, and balign were not tested
* balign takes a uimm2 not a uimm5.
* drotr32 was correctly implemented with a uimm5 but the tests expected
'52' to be valid.
* li/la were implemented with a uimm5 instead of simm32. simm32 isn't
completely correct either but I'll fix that when I get to simm32.
A notable omission are some of the shift instructions. Several of these
have been implemented using a single uimm6 instruction (rather than two
uimm5 instructions and a CodeGen-only uimm6 pseudo). These will be updated
in the uimm6 patch.
Reviewers: vkalintiris
Subscribers: llvm-commits, dsanders
Differential Revision: http://reviews.llvm.org/D14712
llvm-svn: 254164
2015-11-26 16:35:41 +00:00
Zoran Jovanovic
5a8dffc618
[mips][microMIPS] Implement JALRC16, JRCADDIUSP and JRC16 instructions
...
Differential Revision: http://reviews.llvm.org/D11219
llvm-svn: 249317
2015-10-05 14:00:09 +00:00
Zoran Jovanovic
6e6a2c9cd7
[mips][microMIPS] Implement PREFX, LHUE, LBE, LBUE, LHE, LWE, SBE, SHE and SWE instructions
...
Differential Revision: http://reviews.llvm.org/D9189
llvm-svn: 247780
2015-09-16 09:14:35 +00:00
Zoran Jovanovic
6b0dcd7b8c
[mips] Change existing uimm10 operand to restrict the accepted immediates
...
http://reviews.llvm.org/D10312
llvm-svn: 239520
2015-06-11 09:51:58 +00:00
Zoran Jovanovic
416886793f
[mips][microMIPS] Implement movep instruction
...
Differential Revision: http://reviews.llvm.org/D7465
llvm-svn: 228703
2015-02-10 16:36:20 +00:00
Jozef Kolek
2c6d73207e
[mips][microMIPS] Implement ADDIUPC instruction
...
Differential Revision: http://reviews.llvm.org/D6582
llvm-svn: 226656
2015-01-21 12:10:11 +00:00
Jozef Kolek
9761e96b01
[mips][microMIPS] Implement BEQZ16 and BNEZ16 instructions
...
Differential Revision: http://reviews.llvm.org/D5271
llvm-svn: 225627
2015-01-12 12:03:34 +00:00
Jozef Kolek
ab6d1cce3e
[mips][microMIPS] Implement CACHE, PREF, SSNOP, EHB and PAUSE instructions
...
Differential Revision: http://reviews.llvm.org/D5204
llvm-svn: 224785
2014-12-23 19:55:34 +00:00
Zoran Jovanovic
f9a02500b6
[mips][microMIPS] Implement SWM16 and LWM16 instructions
...
Differential Revision: http://reviews.llvm.org/D5579
llvm-svn: 222901
2014-11-27 18:28:59 +00:00
Jozef Kolek
e8c9d1eaf7
[mips][microMIPS] Implement LBU16, LHU16, LW16, SB16, SH16 and SW16 instructions
...
Differential Revision: http://reviews.llvm.org/D5122
llvm-svn: 222653
2014-11-24 14:39:13 +00:00
Zoran Jovanovic
a4c4b5fc01
[mips][micromips] Implement SWM32 and LWM32 instructions
...
Differential Revision: http://reviews.llvm.org/D5519
llvm-svn: 222367
2014-11-19 16:44:02 +00:00
Zoran Jovanovic
8853171b46
[mips][microMIPS] Implement ANDI16 instruction
...
llvm-svn: 221367
2014-11-05 17:31:00 +00:00
Zoran Jovanovic
a87308c84c
Reverted revisions 221351, 221352 and 221353.
...
llvm-svn: 221354
2014-11-05 16:19:59 +00:00
Zoran Jovanovic
e548bb0634
[mips][microMIPS] Implement ANDI16 instruction
...
Differential Revision: http://reviews.llvm.org/D5163
llvm-svn: 221351
2014-11-05 15:39:41 +00:00
Zoran Jovanovic
42b8444372
[mips][microMIPS] Implement ADDIUR1SP instruction
...
Differential Revision: http://reviews.llvm.org/D5153
llvm-svn: 220477
2014-10-23 11:13:59 +00:00
Zoran Jovanovic
bac3619b29
ps][microMIPS] Implement ADDIUR2 instruction
...
Differential Revision: http://reviews.llvm.org/D5151
llvm-svn: 220476
2014-10-23 11:06:34 +00:00
Zoran Jovanovic
9bda2f1926
ps][microMIPS] Implement LI16 instruction
...
Differential Revision: http://reviews.llvm.org/D5149
llvm-svn: 220475
2014-10-23 10:59:24 +00:00
Zoran Jovanovic
4a00fdc2e3
[mips][microMIPS] Implement CodeGen support for SLL16 and SRL16 instructions
...
Differential Revision: http://reviews.llvm.org/D5774
llvm-svn: 220474
2014-10-23 10:42:01 +00:00
Zoran Jovanovic
592239d498
[mips][microMIPS] Implement ADDU16 and SUBU16 instructions
...
Differential Revision: http://reviews.llvm.org/D5118
llvm-svn: 220276
2014-10-21 08:44:58 +00:00
Zoran Jovanovic
81ceebc56e
[mips][microMIPS] Implement AND16, NOT16, OR16 and XOR16 instructions
...
Differential Revision: http://reviews.llvm.org/D5117
llvm-svn: 220275
2014-10-21 08:32:40 +00:00
Zoran Jovanovic
98bd58ca33
[mips][microMIPS] Implement ADDIUSP instruction
...
Differential Revision: http://reviews.llvm.org/D5084
llvm-svn: 219500
2014-10-10 14:37:30 +00:00
Zoran Jovanovic
b26f889afa
[mips][microMIPS] Implement ADDIUS5 instruction
...
Differential Revision: http://reviews.llvm.org/D5049
llvm-svn: 219495
2014-10-10 13:45:34 +00:00