OSDN Git Service

[mips] Define certain instructions in microMIPS32r3
authorStefan Maksimovic <stefan.maksimovic@mips.com>
Thu, 8 Feb 2018 09:25:17 +0000 (09:25 +0000)
committerStefan Maksimovic <stefan.maksimovic@mips.com>
Thu, 8 Feb 2018 09:25:17 +0000 (09:25 +0000)
commitc61c2f0f83a7353b5037793a97d9eb9ef9c4460a
treeaa5b030f5b830f8360ebc17c23ca5fb132ac860d
parent80d11db652bec35e1ce40ba3ec819c844ec148c9
[mips] Define certain instructions in microMIPS32r3

Instructions affected:
mthc1, mfhc1, add.d, sub.d, mul.d, div.d,
mov.d, neg.d, cvt.w.d, cvt.d.s, cvt.d.w, cvt.s.d

These instructions are now defined for
microMIPS32r3 + microMIPS32r6 in MicroMipsInstrFPU.td
since they shared their encoding with those already defined
in microMIPS32r6InstrInfo.td and have been therefore
removed from the latter file.

Some instructions present in MicroMipsInstrFPU.td which
did not have both AFGR64 and FGR64 variants defined have
been altered to do so.

Differential revision: https://reviews.llvm.org/D42738

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@324584 91177308-0d34-0410-b5e6-96231b3b80d8
37 files changed:
lib/Target/Mips/MicroMips32r6InstrInfo.td
lib/Target/Mips/MicroMipsInstrFPU.td
lib/Target/Mips/MicroMipsInstrFormats.td
lib/Target/Mips/MipsISelLowering.cpp
lib/Target/Mips/MipsISelLowering.h
lib/Target/Mips/MipsInstrFPU.td
lib/Target/Mips/MipsRegisterInfo.cpp
lib/Target/Mips/MipsSEInstrInfo.cpp
lib/Target/Mips/MipsSEInstrInfo.h
test/CodeGen/Mips/llvm-ir/arith-fp.ll [new file with mode: 0644]
test/CodeGen/Mips/llvm-ir/bitcast.ll [new file with mode: 0644]
test/CodeGen/Mips/llvm-ir/cvt.ll [new file with mode: 0644]
test/CodeGen/Mips/maxcallframesize.ll [new file with mode: 0644]
test/MC/Disassembler/Mips/micromips32r3/valid-el.txt
test/MC/Disassembler/Mips/micromips32r3/valid-fp64-el.txt
test/MC/Disassembler/Mips/micromips32r3/valid-fp64.txt
test/MC/Disassembler/Mips/micromips32r3/valid.txt
test/MC/Disassembler/Mips/mips32/valid-fp64-el.txt
test/MC/Disassembler/Mips/mips32/valid-fp64.txt
test/MC/Disassembler/Mips/mips32r2/valid-fp64-el.txt
test/MC/Disassembler/Mips/mips32r2/valid-fp64.txt
test/MC/Disassembler/Mips/mips32r3/valid-fp64-el.txt
test/MC/Disassembler/Mips/mips32r3/valid-fp64.txt
test/MC/Disassembler/Mips/mips32r5/valid-fp64-el.txt
test/MC/Disassembler/Mips/mips32r5/valid-fp64.txt
test/MC/Mips/micromips/valid-fp64.s
test/MC/Mips/micromips/valid.s
test/MC/Mips/micromips32r6/valid.s
test/MC/Mips/mips1/valid.s
test/MC/Mips/mips2/valid.s
test/MC/Mips/mips32/valid.s
test/MC/Mips/mips32r2/valid-fp64.s
test/MC/Mips/mips32r2/valid.s
test/MC/Mips/mips32r3/valid-fp64.s
test/MC/Mips/mips32r3/valid.s
test/MC/Mips/mips32r5/valid-fp64.s
test/MC/Mips/mips32r5/valid.s