vperm test + fix for % byte.

This commit is contained in:
Ben Vanik
2015-01-11 15:17:16 -08:00
parent 229daab25b
commit d234f2bc47
7 changed files with 75 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,21 @@
/vagrant/src/alloy/frontend/ppc/test/bin//instr_vperm.o: file format elf64-powerpc
Disassembly of section .text:
0000000000100000 <test_vperm_1>:
100000: 10 c3 21 6b vperm v6,v3,v4,v5
100004: 4e 80 00 20 blr
0000000000100008 <test_vperm_2>:
100008: 10 c3 21 6b vperm v6,v3,v4,v5
10000c: 4e 80 00 20 blr
0000000000100010 <test_vperm_3>:
100010: 10 c3 21 6b vperm v6,v3,v4,v5
100014: 4e 80 00 20 blr
0000000000100018 <test_vperm_4>:
100018: 10 c3 21 6b vperm v6,v3,v4,v5
10001c: 4e 80 00 20 blr

View File

@@ -0,0 +1,4 @@
0000000000000000 t test_vperm_1
0000000000000008 t test_vperm_2
0000000000000010 t test_vperm_3
0000000000000018 t test_vperm_4

View File

@@ -0,0 +1,44 @@
test_vperm_1:
#_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_IN v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_IN v5 [00000000, 00000000, 00000000, 00000000]
vperm v6, v3, v4, v5
blr
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_OUT v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_OUT v5 [00000000, 00000000, 00000000, 00000000]
#_ REGISTER_OUT v6 [00000000, 00000000, 00000000, 00000000]
test_vperm_2:
#_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_IN v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_IN v5 [01010101, 01010101, 01010101, 01010101]
vperm v6, v3, v4, v5
blr
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_OUT v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_OUT v5 [01010101, 01010101, 01010101, 01010101]
#_ REGISTER_OUT v6 [01010101, 01010101, 01010101, 01010101]
test_vperm_3:
#_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_IN v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_IN v5 [11111111, 11111111, 11111111, 11111111]
vperm v6, v3, v4, v5
blr
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_OUT v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_OUT v5 [11111111, 11111111, 11111111, 11111111]
#_ REGISTER_OUT v6 [11111111, 11111111, 11111111, 11111111]
test_vperm_4:
# try with > 32b values (should mod)
#_ REGISTER_IN v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_IN v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_IN v5 [21212121, 21212121, 21212121, 21212121]
vperm v6, v3, v4, v5
blr
#_ REGISTER_OUT v3 [00010203, 04050607, 08090A0B, 0C0D0E0F]
#_ REGISTER_OUT v4 [10111213, 14151617, 18191A1B, 1C1D1E1F]
#_ REGISTER_OUT v5 [21212121, 21212121, 21212121, 21212121]
#_ REGISTER_OUT v6 [01010101, 01010101, 01010101, 01010101]