The instruction DEXT may be transformed into DEXTU or DEXTM depending
authorJack Carter <jcarter@mips.com>
Tue, 28 Aug 2012 20:07:41 +0000 (20:07 +0000)
committerJack Carter <jcarter@mips.com>
Tue, 28 Aug 2012 20:07:41 +0000 (20:07 +0000)
commit714313b4828cec98b086b54b356407540aa775c4
tree2c6a9d6c673915520cbdabf8905c72d9d8b856bd
parentfd6d1651551d5a08b3cf0fcafed5e91a40b8e317
The instruction DEXT may be transformed into DEXTU or DEXTM depending
on the size of the extraction and its position in the 64 bit word.

This patch allows support of the dext transformations with mips64 direct
object output.

0 <= msb < 32 0 <= lsb < 32 0 <= pos < 32 1 <= size <= 32
DINS
The field is entirely contained in the right-most word of the doubleword

32 <= msb < 64 0 <= lsb < 32 0 <= pos < 32 2 <= size <= 64
DINSM
The field straddles the words of the doubleword

32 <= msb < 64 32 <= lsb < 64 32 <= pos < 64 1 <= size <= 32
DINSU
The field is entirely contained in the left-most word of the doubleword

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162782 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Mips/Mips64InstrInfo.td
lib/Target/Mips/MipsAsmPrinter.cpp
lib/Target/Mips/MipsMCInstLower.cpp
lib/Target/Mips/MipsMCInstLower.h
test/MC/Mips/mips64extins.ll [new file with mode: 0644]