From 58107f34993da7434fca38f6f95f55db673a62bb Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Sun, 11 Jan 2015 21:16:04 -0800 Subject: [PATCH] vpermwi128 tests. --- .../ppc/test/bin/instr_vpermwi128.bin | Bin 0 -> 32 bytes .../ppc/test/bin/instr_vpermwi128.dis | 21 +++++++++++ .../ppc/test/bin/instr_vpermwi128.map | 4 ++ .../frontend/ppc/test/instr_vpermwi128.s | 35 ++++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 src/alloy/frontend/ppc/test/bin/instr_vpermwi128.bin create mode 100644 src/alloy/frontend/ppc/test/bin/instr_vpermwi128.dis create mode 100644 src/alloy/frontend/ppc/test/bin/instr_vpermwi128.map create mode 100644 src/alloy/frontend/ppc/test/instr_vpermwi128.s 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 0000000000000000000000000000000000000000..db91ea4d3d202427baf6b4b8e25f79ec5a9f6650 GIT binary patch literal 32 acmb1`EhXUBz@Q+}B7Ff&H$eIGA$$OdMhJlb literal 0 HcmV?d00001 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]