summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>2018-01-19 12:41:47 -0500
committerSteve MacLean <sdmaclea.qdt@qualcommdatacenter.com>2018-01-19 14:34:19 -0500
commita4d79943d8c62e9edaab0ac043784b7936a3c42c (patch)
treecf53a522c1d5e0f2bdfaaeabaf689a8ad0250f4e /src
parentf1c732878777092468ef8da8cd61aa8ec0922948 (diff)
downloadcoreclr-a4d79943d8c62e9edaab0ac043784b7936a3c42c.tar.gz
coreclr-a4d79943d8c62e9edaab0ac043784b7936a3c42c.tar.bz2
coreclr-a4d79943d8c62e9edaab0ac043784b7936a3c42c.zip
[Arm64] Remove irregular vector not handling
Diffstat (limited to 'src')
-rw-r--r--src/jit/emitarm64.cpp26
1 files changed, 8 insertions, 18 deletions
diff --git a/src/jit/emitarm64.cpp b/src/jit/emitarm64.cpp
index cd5d0fefd4..4e07087541 100644
--- a/src/jit/emitarm64.cpp
+++ b/src/jit/emitarm64.cpp
@@ -3821,12 +3821,11 @@ void emitter::emitIns_R_R(
case INS_not:
assert(isVectorRegister(reg1));
assert(isVectorRegister(reg2));
- // for 'NOT' we can construct the arrangement: 8B or 16B
- if ((ins == INS_not) && insOptsNone(opt))
+ if (ins == INS_not)
{
assert(isValidVectorDatasize(size));
- elemsize = EA_1BYTE;
- opt = optMakeArrangement(size, elemsize);
+ // Bitwise behavior is independent of element size, but is always encoded as 1 Byte
+ opt = optMakeArrangement(size, EA_1BYTE);
}
if (insOptsNone(opt))
{
@@ -3841,11 +3840,7 @@ void emitter::emitIns_R_R(
assert(isValidVectorDatasize(size));
assert(isValidArrangement(size, opt));
elemsize = optGetElemsize(opt);
- if (ins == INS_not)
- {
- assert(elemsize == EA_1BYTE);
- }
- fmt = IF_DV_2M;
+ fmt = IF_DV_2M;
}
break;
@@ -3854,12 +3849,11 @@ void emitter::emitIns_R_R(
if (isVectorRegister(reg1))
{
assert(isVectorRegister(reg2));
- // for 'mvn' we can construct the arrangement: 8B or 16b
- if ((ins == INS_mvn) && insOptsNone(opt))
+ if (ins == INS_mvn)
{
assert(isValidVectorDatasize(size));
- elemsize = EA_1BYTE;
- opt = optMakeArrangement(size, elemsize);
+ // Bitwise behavior is independent of element size, but is always encoded as 1 Byte
+ opt = optMakeArrangement(size, EA_1BYTE);
}
if (insOptsNone(opt))
{
@@ -3873,11 +3867,7 @@ void emitter::emitIns_R_R(
assert(isValidVectorDatasize(size));
assert(isValidArrangement(size, opt));
elemsize = optGetElemsize(opt);
- if (ins == INS_mvn)
- {
- assert(elemsize == EA_1BYTE); // Only supports 8B or 16B
- }
- fmt = IF_DV_2M;
+ fmt = IF_DV_2M;
}
break;
}