History log of /external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
cd81d94322a39503e4a3e87b6ee03d4fcb3465fb 21-Jul-2014 Stephen Hines <srhines@google.com> Update LLVM for rebase to r212749.

Includes a cherry-pick of:
r212948 - fixes a small issue with atomic calls

Change-Id: Ib97bd980b59f18142a69506400911a6009d9df18
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
36b56886974eae4f9c5ebc96befd3e7bfe5de338 24-Apr-2014 Stephen Hines <srhines@google.com> Update to LLVM 3.5a.

Change-Id: Ifadecab779f128e62e430c2b4f6ddd84953ed617
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
f7b6bac2629c09b5dcdf9dd926c02490d2c81cd2 23-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for the LSA instruction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193240 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
5cb5ff8b1478ed413a9e9fae43b1496f5a97a2dc 22-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for conditional branches.

These branches have a 16-bit offset (R_MIPS_PC16).

List of conditional branch instructions:
bnz.{b,h,w,d}
bnz.v
bz.{b,h,w,d}
bz.v



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193157 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
348da8d6b5e002c3698c37aca26c508bc60a05bb 21-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for LD/ST instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193082 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
b14ad465492c472033e9ded65ab40e4a9c2c451a 21-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for LDI instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193081 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
f6d4cff9b1cf1e3b57592d6a0e40f0026813aa7c 21-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for MOVE.v.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193080 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
006cff8d7b60ddf632f8642f01693dace7827d8b 21-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for CTCMSA and CFCMSA.

These instructions are logically related as they allow read/write of MSA control registers.
Currently MSA control registers are emitted by number but hopefully that will change as soon
as GAS starts accepting them by name as that would make the assembly easier to read.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193078 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
f89f66e61b26974bb73b5832d5825091873b51dc 21-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Fix definition of SLD instruction.

The second parameter of the SLD intrinsic is the number of columns (GPR) to
slide left the source array.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193076 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
52244da7f2b3def646900520668b859343b84a33 17-Oct-2013 Daniel Sanders <daniel.sanders@imgtec.com> [mips][msa] Added lsa instruction



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192895 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
9672a89c71f7b368455ed193bc23566f3bd4ed2b 14-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for BIT instructions.

List of instructions:
bclri.{b,h,w,d}
binsli.{b,h,w,d}
binsri.{b,h,w,d}
bnegi.{b,h,w,d}
bseti.{b,h,w,d}
sat_s.{b,h,w,d}
sat_u.{b,h,w,d}
slli.{b,h,w,d}
srai.{b,h,w,d}
srari.{b,h,w,d}
srli.{b,h,w,d}
srlri.{b,h,w,d}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
e89c50acc8312c6cd4d3bdbf50e02ba88e54a663 14-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission support for VEC instructions.

List of instructions:
and.v, bmnz.v, bmz.v, bsel.v, nor.v, or.v, xor.v.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192588 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
29adbe8464f74f17a7cf977ce21ef88d88d28b14 14-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission for the majority of the ELM instructions.

List of instructions:
copy_s.{b,h,w}
copy_u.{b,h,w}
sldi.{b,h,w,d}
splati.{b,h,w,d}



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192586 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
45ecbfc8e58923131068dced0cf89348ac61208f 14-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission of INSERT.{B,H,W} instruction.

INSERT is the first type of MSA instruction that requires a change to the way
MSA registers are parsed. This happens because MSA registers may be suffixed by
an index in the form of an immediate or a general purpose register. The changes
to parseMSARegs reflect that requirement.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192582 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
21d60f02c36c2362899109239d16824caa56d8ab 11-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> This reverts 192447 because of compiler warning generated on darwin build.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192451 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
abba71663eeebbea725eded5e23f273147824ed2 11-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> This reverts r192449 because of compiler warning generated on darwin build.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192450 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
62a69eee5ad951502de28871ef27bb64dbf5508f 11-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission for the majority of the ELM instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192449 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
6f36ea5c4778ac0519d821798b94aaac92ec1389 11-Oct-2013 Matheus Almeida <matheus.almeida@imgtec.com> [mips][msa] Direct Object Emission of INSERT.{B,H,W} instruction.

INSERT is the first type of MSA instruction that requires a change to the way MSA registers are parsed.
This happens because MSA registers may be suffixed by an index in the form of an immediate or a
general purpose register. The changes to parseMSARegs reflect that requirement.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@192447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
bdf8015cffb1860776e5a5f28014b023a32ab1bc 30-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission for I8 instructions.

This patch adds Direct Object Emission support for I8 instructions: andi.b, bmnzi.b, bmzi.b, bseli.b, nori.b, ori.b, shf.{b,h,w} and xori.b.


Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191688 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
b0247157c6d44363c36cffd0aeea0e2fa83d9335 30-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission for I5 instructions.

This patch adds Direct Object Emission support for I5 instructions: addvi.{b,h,w,d}, ceqi.{b,h,w,d}, clei_s.{b,h,w,d}, clei_u.{b,h,w,d}, clti_s.{b,h,w,d}, clti_u.{b,h,w,d}, maxi_s.{b,h,w,d}, maxi_u.{b,h,w,d}, mini_s.{b,h,w,d}, mini_u.{b,h,w,d}, subvi.{b,h,w,d}.


Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191687 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
70f556140fca702ef6062b0c46b032908b9ae2a5 30-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission for 2R instructions.

This patch adds Direct Object Emission support for 2R instructions: nloc.{b,h,w}, nlzc.{b,h,w}, pcnt.{b,w,d}.


Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191685 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
2641f5e412ba84255d8b97f5098e3f57bf990ff1 30-Sep-2013 Jack Carter <jack.carter@imgtec.com> [PATCH 1/4] [mips][msa] Source register of FILL instructions is GPR
and not an MSA register

Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191684 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
1327c089221da78b1bfd61067162023e520085ed 26-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission for 3RF instructions.


Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191461 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
9fa81ab83898314d1a6608e8303dc57253292796 26-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission for 3R instructions.

This is the first set of instructions with a ".b" modifier thus we need to add the required code to disassemble a MSA128B register class.

Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191415 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
42d9ca629934d0c20ac19949399ce4faa9a7bbb3 26-Sep-2013 Jack Carter <jack.carter@imgtec.com> [mips][msa] Direct Object Emission support for the MSA instruction set.

In more detail, this patch adds the ability to parse, encode and decode MSA registers ($w0-$w31). The format of 2RF instructions (MipsMSAInstrFormat.td) was updated so that we could attach a test case to this patch i.e., the test case parses, encodes and decodes 2 MSA instructions. Following patches will add the remainder of the instructions.

Note that DecodeMSA128BRegisterClass is missing from MipsDisassembler.td because it's not yet required at this stage and having it would cause a compiler warning (unused function).

Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191412 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
3c380d5e28f86984b147fcd424736c498773f37e 28-Aug-2013 Daniel Sanders <daniel.sanders@imgtec.com> [mips][msa] Added bnz.df, bnz.v, bz.df, and bz.v

These intrinsics are legalized to V(ALL|ANY)_(NON)?ZERO nodes,
are matched as SN?Z_[BHWDV]_PSEUDO pseudo's, and emitted as
a branch/mov sequence to evaluate to 0 or 1.

Note: The resulting code is sub-optimal since it doesnt seem to be possible
to feed the result of an intrinsic directly into a brcond. At the moment
it uses (SETCC (VALL_ZERO $ws), 0, SETEQ) and similar which unnecessarily
evaluates the boolean twice.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189478 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
a6c3a4ee76ef8464d3c83472e15af521ade7eeb4 28-Aug-2013 Daniel Sanders <daniel.sanders@imgtec.com> [mips][msa] Added cfcmsa, and ctcmsa

The MSA control registers have been added as reserved registers,
and are only used via ISD::Copy(To|From)Reg. The intrinsics are lowered
into these nodes.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
c149fbbe279ef623e6067304fd08dc1a62d74f7d 20-Aug-2013 Daniel Sanders <daniel.sanders@imgtec.com> [mips][msa] Added and.v, bmnz.v, bmz.v, bsel.v, nor.v, or.v, xor.v


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188767 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
e2a9376b1bd2204ea6f56a35b762e28e0ef4e35a 15-Aug-2013 Jack Carter <jack.carter@imgtec.com> [Mips][msa] Added the simple builtins (add_a to dpsub[su], ilvev to ldi)

Includes:
add_a, adds_[asu], addv, addvi, andi.b, asub_[su].[bhwd], aver?_[su]_[bhwd],
bclr, bclri, bins[lr], bins[lr]i, bmnzi, bmzi, bneg, bnegi, bseli, bset, bseti,
c(eq|ne), c(eq|ne)i, cl[et]_[su], cl[et]i_[su], copy_[su].[bhw], div_[su],
dotp_[su], dpadd_[su], dpsub_[su], ilvev, ilvl, ilvod, ilvr, insv, insve,
ldi

Patch by Daniel Sanders


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188457 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td
3f70e908c3d9de7acea462719ebf36dca1560f9c 13-Aug-2013 Jack Carter <jack.carter@imgtec.com> [Mips][msa] Added initial MSA support.

* msa SubtargetFeature
* registers
* ld.[bhwd], and st.[bhwd] instructions

Does not correctly prohibit use of both 32-bit FPU registers and MSA together.

Patch by Daniel Sanders


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188313 91177308-0d34-0410-b5e6-96231b3b80d8
/external/llvm/lib/Target/Mips/MipsMSAInstrFormats.td