diff options
author | Steve MacLean <sdmaclea.qdt@qualcommdatacenter.com> | 2018-01-19 12:41:47 -0500 |
---|---|---|
committer | Steve MacLean <sdmaclea.qdt@qualcommdatacenter.com> | 2018-01-19 14:34:19 -0500 |
commit | a4d79943d8c62e9edaab0ac043784b7936a3c42c (patch) | |
tree | cf53a522c1d5e0f2bdfaaeabaf689a8ad0250f4e /src | |
parent | f1c732878777092468ef8da8cd61aa8ec0922948 (diff) | |
download | coreclr-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.cpp | 26 |
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; } |