1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-23 13:02:52 +02:00
llvm-mirror/test/MC/Mips
Simon Dardis 79593aa13b [mips] Macro expansion for ld, sd for O32
ld and sd when assembled for the O32 ABI expand to a pair of 32 bit word loads
or stores using the specified source or destination register and the next
register.

This patch does not add support for the cases where the offset is greater than
a 16 bit signed immediate as that would lead to a wrong/misleading error
message as the assembler would report "instruction requires a CPU feature
not currently enabled" for ld & sd for MIPS64 when their offset is not a signed
16 bit number.

This fixes PR/29159.

Thanks to Sean Bruno for reporting this issue!

Reviewers: vkalintiris, seanbruno, zoran.jovanovic

Differential Review: https://reviews.llvm.org/D24556

llvm-svn: 284481
2016-10-18 14:28:00 +00:00
..
cnmips [mips] Range check simm10 2016-03-24 13:26:59 +00:00
dsp [mips] Range check uimm16 and fix several bugs this revealed. 2016-02-01 15:13:31 +00:00
dspr2 [mips][microMIPS][DSP] Implement PACKRL.PH, PICK.PH, PICK.QB, SHILO, SHILOV and WRDSP instructions 2015-12-18 08:59:37 +00:00
eva [mips][microMIPS] Fix offsets for LLE, LWE, SBE, SCE and SHE instructions 2016-04-29 08:36:54 +00:00
micromips Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
micromips32r6 [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
micromips64r6 [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
micromips-dsp [mips][microMIPS][DSP] Implement BALIGN, BITREV, BPOSGE32, CMP*, CMPGDU*, CMPGU* and CMPU* instructions 2016-05-17 09:32:58 +00:00
micromips-dspr2 [mips][microMIPS][DSP] Implement BALIGN, BITREV, BPOSGE32, CMP*, CMPGDU*, CMPGU* and CMPU* instructions 2016-05-17 09:32:58 +00:00
micromips-dspr3 [mips][microMIPS] Implement APPEND, BPOSGE32C, MODSUB, MULSA.W.PH and MULSAQ_S.W.PH instructions 2016-05-13 11:32:53 +00:00
mips1 [mips] Macro expansion for ld, sd for O32 2016-10-18 14:28:00 +00:00
mips2 [mips] Macro expansion for ld, sd for O32 2016-10-18 14:28:00 +00:00
mips3 [mips] Add l.[sd] and s.[sd] instruction aliases 2016-08-17 14:45:09 +00:00
mips4 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips5 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips32 Revert "[mips] Fix c.<cc>.<fmt> instruction definition." 2016-09-09 11:06:01 +00:00
mips32r2 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips32r3 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips32r5 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips32r6 [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
mips64 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips64r2 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips64r3 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips64r5 Recommit: "[mips] Add rsqrt, recip for MIPS" 2016-10-05 16:11:01 +00:00
mips64r6 [mips] Fix aui/daui/dahi/dati for MIPSR6 2016-10-14 09:31:42 +00:00
msa [mips] Split mem_msa into range checked mem_simm10 and mem_simm10_lsl[123] 2016-03-31 14:12:01 +00:00
asciiz-directive-bad.s
asciiz-directive.s
branch-pseudos-bad.s
branch-pseudos.s
cfi-advance-loc.s
cfi.s
cpload-bad.s
cpload.s [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
cprestore-bad.s Don't pass relocation-model= to tests that don't need it. 2016-05-18 00:27:17 +00:00
cprestore-noreorder-noat.s [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
cprestore-noreorder.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
cprestore-reorder.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
cprestore-warning-unused.s Don't pass a Reloc::Model to MC. 2016-05-18 11:58:50 +00:00
cpsetup-bad.s [MC] Fix Error Location for ParseIdentifier 2016-10-12 13:58:07 +00:00
cpsetup.s [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
directive-ent.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
do_switch1.s Don't pass relocation-model= to tests that don't need it. 2016-05-18 00:27:17 +00:00
do_switch2.s Don't pass relocation-model= to tests that don't need it. 2016-05-18 00:27:17 +00:00
do_switch3.s Don't pass relocation-model= to tests that don't need it. 2016-05-18 00:27:17 +00:00
double-expand.s [mips][ias] Move createCpRestoreMemOp to MipsTargetStreamer. NFC. 2016-04-29 16:16:49 +00:00
eh-frame.s
elf_basic.s
elf_eflags_abicalls.s
elf_eflags_micromips2.s [mips][ias] EF_MIPS_MICROMIPS should iff microMIPS code was emitted. 2016-05-16 09:10:13 +00:00
elf_eflags_micromips.s [mips][ias] EF_MIPS_MICROMIPS should iff microMIPS code was emitted. 2016-05-16 09:10:13 +00:00
elf_eflags_mips16.s
elf_eflags_nan2008.s
elf_eflags_nanlegacy.s
elf_eflags_noreorder.s
elf_eflags_pic0.s
elf_eflags_pic2.s
elf_eflags.s [mips] Don't derive the default ABI from the CPU in the backend. 2016-06-23 12:42:53 +00:00
elf_reginfo.s
elf_st_other.s [llvm-readobj] Decode st_other symbol's flags 2016-03-24 16:10:37 +00:00
elf-bigendian.ll
elf-gprel-32-64.s
elf-N64.s
elf-relsym.s
elf-tls.s
expansion-jal-sym-pic.s [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
expr1.s Re-commit r277988: [mips][ias] Fix all the hacks related to MIPS-specific unary operators (%hi/%lo/%gp_rel/etc.). 2016-08-08 11:50:25 +00:00
got-rel-expr.s [mips][ias] R_MIPS_(GOT|HI|LO|PC)16 and R_MIPS_GPREL32 do not need symbols. 2016-05-09 10:21:14 +00:00
hex-immediates.s Revert r265817 2016-04-08 18:15:37 +00:00
higher-highest-addressing.s [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
hilo-addressing.s Revert r265817 2016-04-08 18:15:37 +00:00
init-order-bug.ll Don't pass a Reloc::Model to MC. 2016-05-18 11:58:50 +00:00
insn-directive.s [llvm-readobj] Decode st_other symbol's flags 2016-03-24 16:10:37 +00:00
instalias-imm-expanding.s [mips] Range check simm32 and fold MIPS16's imm32 into simm32. 2016-04-04 15:32:49 +00:00
instr-analysis.s Revert r265817 2016-04-08 18:15:37 +00:00
lit.local.cfg
llvm-mc-fixup-endianness.s
macro-abs.s [mips] Absolute value macro expansion 2016-01-29 16:18:34 +00:00
macro-bcc-imm-bad.s
macro-bcc-imm.s
macro-ddiv-bad.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-ddiv.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-ddivu-bad.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-ddivu.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-div-bad.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-div.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-divu-bad.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-divu.s [mips] Addition of a third operand to the instructions [d]div, [d]divu 2016-05-16 08:57:59 +00:00
macro-dla-32bit.s [mips] Allowed dla instructions on 32-bit architectures. 2016-01-21 15:11:01 +00:00
macro-dla.s
macro-dli.s
macro-la-bad.s
macro-la-pic.s [mips] Implement 'la' macro in PIC mode for O32. 2016-06-03 09:53:06 +00:00
macro-la.s [mips] Correct label prefixes for N32 and N64. 2016-07-19 10:49:03 +00:00
macro-ld-sd.s [mips] Macro expansion for ld, sd for O32 2016-10-18 14:28:00 +00:00
macro-li-bad.s [mips][ias] fix li macro when values are negated with ~ 2016-10-05 18:26:19 +00:00
macro-li.s [mips][ias] fix li macro when values are negated with ~ 2016-10-05 18:26:19 +00:00
micromips-16-bit-instructions.s
micromips-alias.s [llvm-readobj] Decode st_other symbol's flags 2016-03-24 16:10:37 +00:00
micromips-alu-instructions.s [mips][microMIPS] Add CodeGen support for AND*, OR16, OR*, XOR*, NOT16 and NOR instructions 2016-06-15 07:46:24 +00:00
micromips-bad-branches.s
micromips-branch-fixup.s
micromips-branch-instructions.s
micromips-control-instructions.s
micromips-diagnostic-fixup.s [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
micromips-el-fixup-data.s [mips][microMIPS] Implement BLTZC, BLEZC, BGEZC and BGTZC instructions, fix disassembly and add operand checking to existing B<cond>C implementations 2016-08-22 12:17:59 +00:00
micromips-expansions.s [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
micromips-fpu-instructions.s
micromips-func-addr.s [LLVM] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-19 23:51:52 +00:00
micromips-invalid.s [mips][micromips] Implement LD, LLD, LWU, SD, DSRL, DSRL32 and DSRLV instructions 2016-06-27 08:23:28 +00:00
micromips-jump26.s
micromips-jump-instructions.s
micromips-label-test-sections.s [llvm-readobj] Decode st_other symbol's flags 2016-03-24 16:10:37 +00:00
micromips-label-test.s [llvm-readobj] Decode st_other symbol's flags 2016-03-24 16:10:37 +00:00
micromips-loadstore-instructions.s
micromips-loadstore-unaligned.s
micromips-movcond-instructions.s
micromips-multiply-instructions.s
micromips-pc16-fixup.s [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
micromips-relocations.s [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
micromips-shift-instructions.s [mips][microMIPS] Add CodeGen support for SLL16, SRL16, SLL, SLLV, SRA, SRAV, SRL and SRLV instructions 2016-04-27 11:02:23 +00:00
micromips-tailr.s
micromips-trap-instructions.s
mips64-alu-instructions.s [mips][ias] Range check uimm5 operands and fix several bugs this revealed. 2015-11-26 16:35:41 +00:00
mips64-expansions.s [mips] Make symbols an acceptable branch target when expanding compare-to-immediate-and-branch macros. 2016-02-29 11:24:49 +00:00
mips64-instructions.s
mips64-register-names-n32-n64.s
mips64-register-names-o32.s
mips64eb-fixups.s
mips64extins.s [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
mips64shift.ll [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
mips_abi_flags_xx_set.s
mips_abi_flags_xx.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
mips_directives_bad.s
mips_directives.s [mips] Use MipsMCExpr instead of MCSymbolRefExpr for all relocations. 2016-05-03 13:35:44 +00:00
mips_gprel16.s [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
mips-abi-bad.s
mips-alu-instructions.s
mips-bad-branches.s
mips-control-instructions.s [mips] Range check uimm20 and fixed a bug this revealed. 2016-02-29 16:06:38 +00:00
mips-cop0-reginfo.s [LLVM] Remove unwanted --check-prefix=CHECK from unit tests. NFC. 2016-04-19 23:51:52 +00:00
mips-coprocessor-encodings.s
mips-data-directives.s [mips] Implemented the .hword directive. 2016-02-15 16:11:51 +00:00
mips-diagnostic-fixup.s [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
mips-expansions-bad.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
mips-expansions.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
mips-fpu-instructions.s
mips-hwr-register-names.s
mips-jump-delay-slots.s
mips-jump-instructions.s
mips-memory-instructions.s
mips-noat.s
mips-pc16-fixup.s [Assembler] Make fatal assembler errors non-fatal 2015-11-17 10:00:43 +00:00
mips-pdr-bad.s
mips-pdr.s [mips] Removed the SHF_ALLOC flag and the SHT_REL flag from the .pdr section. 2016-02-17 11:15:16 +00:00
mips-reginfo-fp32.s
mips-reginfo-fp64.s
mips-register-names-invalid.s
mips-register-names-o32.s
module-directive-bad.s
module-hardfloat.s
module-softfloat.s
multi-64bit-func.ll
nabi-regs.s
nacl-mask.s [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
nooddspreg-cmdarg.s [mips] Don't derive the default ABI from the CPU in the backend. 2016-06-23 12:42:53 +00:00
nooddspreg-error.s
nooddspreg.s [mips] Don't derive the default ABI from the CPU in the backend. 2016-06-23 12:42:53 +00:00
octeon-instructions.s
oddspreg.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
pr11877.s
r-mips-got-disp.s
reloc-directive-bad.s
reloc-directive-negative.s [MC, COFF] Add .reloc support for WinCOFF 2016-01-19 23:05:27 +00:00
reloc-directive.s [mips][ias] Make the default path unreachable in needsRelocateWithSymbol() (except for N64). 2016-05-10 12:17:04 +00:00
relocation-n64.s [mips] Use --check-prefixes where appropriate. NFC. 2016-06-24 12:23:17 +00:00
relocation-xfail.s [mips][ias] Work around yet another incorrect microMIPS relocation evaluation exposed by r268900. 2016-05-13 12:07:14 +00:00
relocation.s [mips][ias] Support .dtprel[d]word and .tprel[d]word directives 2016-08-22 16:18:42 +00:00
rotations32-bad.s [mips] Add tests for ROL and ROR macros expansion 2015-11-19 15:04:31 +00:00
rotations32.s [mips] Add tests for ROL and ROR macros expansion 2015-11-19 15:04:31 +00:00
rotations64.s [mips] Add tests for ROL and ROR macros expansion 2015-11-19 15:04:31 +00:00
section-size.s [mips][ias] Only round section sizes when explicitly requested. 2016-05-04 13:21:06 +00:00
set-arch.s [mips] add assembler support for .set arch=octeon 2016-04-12 15:28:16 +00:00
set-at-directive-explicit-at.s
set-at-directive.s
set-at-noat-bad-syntax.s
set-defined-symbol.s [llvm-objdump] Support detection of feature bits from the object and implement this for Mips. 2016-06-16 09:17:03 +00:00
set-mips0-directive.s
set-mips16-directive.s
set-mips-directives-bad.s
set-mips-directives.s
set-nodsp.s
set-nomacro-micromips.s
set-nomacro.s
set-oddspreg-nooddspreg-error.s
set-oddspreg-nooddspreg.s
set-push-pop-directives-bad.s Fix Mips Parser error reporting 2016-05-05 14:15:46 +00:00
set-push-pop-directives.s
set-softfloat-hardfloat-bad.s
set-softfloat-hardfloat.s
sext_64_32.ll [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
sort-relocation-table.s [mips][ias] R_MIPS_(GOT|HI|LO|PC)16 and R_MIPS_GPREL32 do not need symbols. 2016-05-09 10:21:14 +00:00
sym-expr.s
sym-offset.ll
target-soft-float.s [mips][microMIPS] Implement LDC1, SDC1, LDC2, SDC2, LWC1, SWC1, LWC2 and SWC2 instructions and add CodeGen support 2016-07-11 07:41:56 +00:00
unaligned-nops.s
update-module-level-options.s
user-macro-argument-separation.s [MC] Fixed parsing of macro arguments where expressions with spaces are present. 2016-02-11 13:48:49 +00:00
xgot.s