[x64] Add `VECTOR_ROTATE_LEFT_I32` overflow-test
Edit one of the lanes in this unit-test to be larger than the width of the element-size to ensure that this case is handled correctly. It should only mask the lower `log2(32)=5` bits of the input, causing `33`(`100001`) to be `1`(`000001`).
This commit is contained in:
parent
337f0b2948
commit
f356cf5df8
|
@ -2,7 +2,7 @@
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* Xenia : Xbox 360 Emulator Research Project *
|
* Xenia : Xbox 360 Emulator Research Project *
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
* Copyright 2014 Ben Vanik. All rights reserved. *
|
* Copyright 2022 Ben Vanik. All rights reserved. *
|
||||||
* Released under the BSD license - see LICENSE in the root for more details. *
|
* Released under the BSD license - see LICENSE in the root for more details. *
|
||||||
******************************************************************************
|
******************************************************************************
|
||||||
*/
|
*/
|
||||||
|
@ -62,7 +62,7 @@ TEST_CASE("VECTOR_ROTATE_LEFT_I32", "[instr]") {
|
||||||
test.Run(
|
test.Run(
|
||||||
[](PPCContext* ctx) {
|
[](PPCContext* ctx) {
|
||||||
ctx->v[4] = vec128i(0x00000001, 0x00000001, 0x80000000, 0x80000000);
|
ctx->v[4] = vec128i(0x00000001, 0x00000001, 0x80000000, 0x80000000);
|
||||||
ctx->v[5] = vec128i(0, 1, 1, 2);
|
ctx->v[5] = vec128i(0, 1, 33, 2);
|
||||||
},
|
},
|
||||||
[](PPCContext* ctx) {
|
[](PPCContext* ctx) {
|
||||||
auto result = ctx->v[3];
|
auto result = ctx->v[3];
|
||||||
|
|
Loading…
Reference in New Issue