mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-03-02 22:32:08 +00:00
Fix mem type for VEX.128 form of VROUNDP*. Remove filter preventing VROUND from being recognized by disassembler.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@139691 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3bb43a829e
commit
a08e255e1e
@ -5490,7 +5490,7 @@ multiclass sse41_fp_unop_rm<bits<8> opcps, bits<8> opcpd, string OpcodeStr,
|
|||||||
|
|
||||||
// Vector intrinsic operation, mem
|
// Vector intrinsic operation, mem
|
||||||
def PSm : Ii8<opcps, MRMSrcMem,
|
def PSm : Ii8<opcps, MRMSrcMem,
|
||||||
(outs RC:$dst), (ins f256mem:$src1, i32i8imm:$src2),
|
(outs RC:$dst), (ins x86memop:$src1, i32i8imm:$src2),
|
||||||
!strconcat(OpcodeStr,
|
!strconcat(OpcodeStr,
|
||||||
"ps\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
|
"ps\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
|
||||||
[(set RC:$dst,
|
[(set RC:$dst,
|
||||||
@ -5508,7 +5508,7 @@ multiclass sse41_fp_unop_rm<bits<8> opcps, bits<8> opcpd, string OpcodeStr,
|
|||||||
|
|
||||||
// Vector intrinsic operation, mem
|
// Vector intrinsic operation, mem
|
||||||
def PDm : SS4AIi8<opcpd, MRMSrcMem,
|
def PDm : SS4AIi8<opcpd, MRMSrcMem,
|
||||||
(outs RC:$dst), (ins f256mem:$src1, i32i8imm:$src2),
|
(outs RC:$dst), (ins x86memop:$src1, i32i8imm:$src2),
|
||||||
!strconcat(OpcodeStr,
|
!strconcat(OpcodeStr,
|
||||||
"pd\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
|
"pd\t{$src2, $src1, $dst|$dst, $src1, $src2}"),
|
||||||
[(set RC:$dst,
|
[(set RC:$dst,
|
||||||
|
@ -272,3 +272,21 @@
|
|||||||
|
|
||||||
# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
|
# CHECK: vblendvps %xmm4, %xmm1, %xmm2, %xmm3
|
||||||
0xc4 0xe3 0x69 0x4a 0xd9 0x41
|
0xc4 0xe3 0x69 0x4a 0xd9 0x41
|
||||||
|
|
||||||
|
# CHECK: vroundpd $0, %xmm0, %xmm0
|
||||||
|
0xc4 0xe3 0x79 0x09 0xc0 0x00
|
||||||
|
|
||||||
|
# CHECK: vroundps $0, %xmm0, %xmm0
|
||||||
|
0xc4 0xe3 0x79 0x08 0xc0 0x00
|
||||||
|
|
||||||
|
# CHECK: vroundpd $0, %ymm0, %ymm0
|
||||||
|
0xc4 0xe3 0x7d 0x09 0xc0 0x00
|
||||||
|
|
||||||
|
# CHECK: vroundps $0, %ymm0, %ymm0
|
||||||
|
0xc4 0xe3 0x7d 0x08 0xc0 0x00
|
||||||
|
|
||||||
|
# CHECK: vroundss $0, %xmm0, %xmm0, %xmm0
|
||||||
|
0xc4 0xe3 0x79 0x0a 0xc0 0x00
|
||||||
|
|
||||||
|
# CHECK: vroundsd $0, %xmm0, %xmm0, %xmm0
|
||||||
|
0xc4 0xe3 0x79 0x0b 0xc0 0x00
|
||||||
|
@ -352,11 +352,6 @@ RecognizableInstr::filter_ret RecognizableInstr::filter() const {
|
|||||||
return FILTER_STRONG;
|
return FILTER_STRONG;
|
||||||
|
|
||||||
|
|
||||||
// TEMPORARY pending bug fixes
|
|
||||||
|
|
||||||
if (Name.find("VROUND") != Name.npos)
|
|
||||||
return FILTER_STRONG;
|
|
||||||
|
|
||||||
// Filter out artificial instructions
|
// Filter out artificial instructions
|
||||||
|
|
||||||
if (Name.find("TAILJMP") != Name.npos ||
|
if (Name.find("TAILJMP") != Name.npos ||
|
||||||
|
Loading…
x
Reference in New Issue
Block a user