diff --git a/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.bin b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.bin new file mode 100644 index 000000000..db91ea4d3 Binary files /dev/null and b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.bin differ diff --git a/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.dis b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.dis new file mode 100644 index 000000000..a805aa45d --- /dev/null +++ b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.dis @@ -0,0 +1,21 @@ + +/vagrant/src/alloy/frontend/ppc/test/bin//instr_vpermwi128.o: file format elf64-powerpc + + +Disassembly of section .text: + +0000000000100000 : + 100000: 18 9b 1a 10 vpermwi128 v4,v3,27 + 100004: 4e 80 00 20 blr + +0000000000100008 : + 100008: 18 84 1b d0 vpermwi128 v4,v3,228 + 10000c: 4e 80 00 20 blr + +0000000000100010 : + 100010: 18 80 1a 10 vpermwi128 v4,v3,0 + 100014: 4e 80 00 20 blr + +0000000000100018 : + 100018: 18 9f 1b d0 vpermwi128 v4,v3,255 + 10001c: 4e 80 00 20 blr diff --git a/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.map b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.map new file mode 100644 index 000000000..c698db776 --- /dev/null +++ b/src/alloy/frontend/ppc/test/bin/instr_vpermwi128.map @@ -0,0 +1,4 @@ +0000000000000000 t test_vpermwi128_1 +0000000000000008 t test_vpermwi128_2 +0000000000000010 t test_vpermwi128_3 +0000000000000018 t test_vpermwi128_4 diff --git a/src/alloy/frontend/ppc/test/instr_vpermwi128.s b/src/alloy/frontend/ppc/test/instr_vpermwi128.s new file mode 100644 index 000000000..158a0e608 --- /dev/null +++ b/src/alloy/frontend/ppc/test/instr_vpermwi128.s @@ -0,0 +1,35 @@ +test_vpermwi128_1: + #_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + # to 0,1,2,3 + # vpermwi128 v4, v3, 0x1B + .long 0x189B1A10 + blr + #_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + #_ REGISTER_OUT v4 [00010203, 04050607, 08090A0B, 0C0D0E0F] + +test_vpermwi128_2: + #_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + # to 3,2,1,0 + # vpermwi128 v4, v3, 0xE4 + .long 0x18841BD0 + blr + #_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + #_ REGISTER_OUT v4 [0C0D0E0F, 08090A0B, 04050607, 00010203] + +test_vpermwi128_3: + #_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + # to 0,0,0,0 + # vpermwi128 v4, v3, 0 + .long 0x18801A10 + blr + #_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + #_ REGISTER_OUT v4 [00010203, 00010203, 00010203, 00010203] + +test_vpermwi128_4: + #_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + # to 3,3,3,3 + # vpermwi128 v4, v3, 0xFF + .long 0x189F1BD0 + blr + #_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F] + #_ REGISTER_OUT v4 [0C0D0E0F, 0C0D0E0F, 0C0D0E0F, 0C0D0E0F]