mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-09 04:21:49 +08:00
gas/ppc: Additional tests for DFP instructions
I noticed that some of the Power6 DFP instructions were not covered by the assembler tests. I've added a new test file which I believe covers all the DFP Power6 instructions. The existing gas/testsuite/gas/ppc/power6.d test is called: POWER6 tests (includes DFP and Altivec) And does cover some of the DFP instructions. But, given the number of additional instructions I'm adding I opted to add a whole new test file. I've left the original power6.d unchanged, so there is now some overlap, but I don't think that should hurt much.
This commit is contained in:
parent
a3c2d24868
commit
0fcf99b8ab
95
gas/testsuite/gas/ppc/power6-dfp.d
Normal file
95
gas/testsuite/gas/ppc/power6-dfp.d
Normal file
@ -0,0 +1,95 @@
|
||||
#as: -a32 -mpower6
|
||||
#objdump: -dr -Mpower6
|
||||
#name: POWER6 all DFP instructions
|
||||
|
||||
.*
|
||||
|
||||
Disassembly of section \.text:
|
||||
|
||||
0+00 <start>:
|
||||
0: (ee 11 90 04|04 90 11 ee) dadd f16,f17,f18
|
||||
4: (ee 11 90 05|05 90 11 ee) dadd\. f16,f17,f18
|
||||
8: (fe 96 c0 04|04 c0 96 fe) daddq f20,f22,f24
|
||||
c: (fe 96 c0 05|05 c0 96 fe) daddq\. f20,f22,f24
|
||||
10: (ee 11 94 04|04 94 11 ee) dsub f16,f17,f18
|
||||
14: (ee 11 94 05|05 94 11 ee) dsub\. f16,f17,f18
|
||||
18: (fe 96 c4 04|04 c4 96 fe) dsubq f20,f22,f24
|
||||
1c: (fe 96 c4 05|05 c4 96 fe) dsubq\. f20,f22,f24
|
||||
20: (ee 11 90 44|44 90 11 ee) dmul f16,f17,f18
|
||||
24: (ee 11 90 45|45 90 11 ee) dmul\. f16,f17,f18
|
||||
28: (fe 96 c0 44|44 c0 96 fe) dmulq f20,f22,f24
|
||||
2c: (fe 96 c0 45|45 c0 96 fe) dmulq\. f20,f22,f24
|
||||
30: (ee 11 94 44|44 94 11 ee) ddiv f16,f17,f18
|
||||
34: (ee 11 94 45|45 94 11 ee) ddiv\. f16,f17,f18
|
||||
38: (fe 96 c4 44|44 c4 96 fe) ddivq f20,f22,f24
|
||||
3c: (fe 96 c4 45|45 c4 96 fe) ddivq\. f20,f22,f24
|
||||
40: (ec 83 29 04|04 29 83 ec) dcmpo cr1,f3,f5
|
||||
44: (fd 86 21 04|04 21 86 fd) dcmpoq cr3,f6,f4
|
||||
48: (ed 03 2d 04|04 2d 03 ed) dcmpu cr2,f3,f5
|
||||
4c: (fd 06 25 04|04 25 06 fd) dcmpuq cr2,f6,f4
|
||||
50: (ec 01 fd 84|84 fd 01 ec) dtstdc cr0,f1,63
|
||||
54: (fc 02 01 84|84 01 02 fc) dtstdcq cr0,f2,0
|
||||
58: (ec 03 81 c4|c4 81 03 ec) dtstdg cr0,f3,32
|
||||
5c: (fc 04 05 c4|c4 05 04 fc) dtstdgq cr0,f4,1
|
||||
60: (ef 81 29 44|44 29 81 ef) dtstex cr7,f1,f5
|
||||
64: (ff 02 31 44|44 31 02 ff) dtstexq cr6,f2,f6
|
||||
68: (ee 83 3d 44|44 3d 83 ee) dtstsf cr5,f3,f7
|
||||
6c: (fe 04 45 44|44 45 04 fe) dtstsfq cr4,f4,f8
|
||||
70: (ec 10 22 86|86 22 10 ec) dquai -16,f0,f4,1
|
||||
74: (ec 10 22 87|87 22 10 ec) dquai\. -16,f0,f4,1
|
||||
78: (fc 4f 36 86|86 36 4f fc) dquaiq 15,f2,f6,3
|
||||
7c: (fc 4f 36 87|87 36 4f fc) dquaiq\. 15,f2,f6,3
|
||||
80: (ec 22 28 06|06 28 22 ec) dqua f1,f2,f5,0
|
||||
84: (ec 64 32 07|07 32 64 ec) dqua\. f3,f4,f6,1
|
||||
88: (fc 46 24 06|06 24 46 fc) dquaq f2,f6,f4,2
|
||||
8c: (fc 88 16 07|07 16 88 fc) dquaq\. f4,f8,f2,3
|
||||
90: (ec 22 1a 46|46 1a 22 ec) drrnd f1,f2,f3,1
|
||||
94: (ec 44 32 47|47 32 44 ec) drrnd\. f2,f4,f6,1
|
||||
98: (fc 02 24 46|46 24 02 fc) drrndq f0,f2,f4,2
|
||||
9c: (fc 86 44 47|47 44 86 fc) drrndq\. f4,f6,f8,2
|
||||
a0: (ec 20 10 c6|c6 10 20 ec) drintx 0,f1,f2,0
|
||||
a4: (ec 41 0a c7|c7 0a 41 ec) drintx\. 1,f2,f1,1
|
||||
a8: (fc 40 24 c6|c6 24 40 fc) drintxq 0,f2,f4,2
|
||||
ac: (fc 81 36 c7|c7 36 81 fc) drintxq\. 1,f4,f6,3
|
||||
b0: (ec 21 19 c6|c6 19 21 ec) drintn 1,f1,f3,0
|
||||
b4: (ec 80 13 c7|c7 13 80 ec) drintn\. 0,f4,f2,1
|
||||
b8: (fc 01 15 c6|c6 15 01 fc) drintnq 1,f0,f2,2
|
||||
bc: (fc 80 17 c7|c7 17 80 fc) drintnq\. 0,f4,f2,3
|
||||
c0: (ec 40 22 04|04 22 40 ec) dctdp f2,f4
|
||||
c4: (ec 40 22 05|05 22 40 ec) dctdp\. f2,f4
|
||||
c8: (fc 40 22 04|04 22 40 fc) dctqpq f2,f4
|
||||
cc: (fc 40 22 05|05 22 40 fc) dctqpq\. f2,f4
|
||||
d0: (ec 40 26 04|04 26 40 ec) drsp f2,f4
|
||||
d4: (ec 40 26 05|05 26 40 ec) drsp\. f2,f4
|
||||
d8: (fc 40 26 04|04 26 40 fc) drdpq f2,f4
|
||||
dc: (fc 40 26 05|05 26 40 fc) drdpq\. f2,f4
|
||||
e0: (fc 40 26 44|44 26 40 fc) dcffixq f2,f4
|
||||
e4: (fc 40 26 45|45 26 40 fc) dcffixq\. f2,f4
|
||||
e8: (ec 40 22 44|44 22 40 ec) dctfix f2,f4
|
||||
ec: (ec 40 22 45|45 22 40 ec) dctfix\. f2,f4
|
||||
f0: (fc 40 22 44|44 22 40 fc) dctfixq f2,f4
|
||||
f4: (fc 40 22 45|45 22 40 fc) dctfixq\. f2,f4
|
||||
f8: (ec 20 12 84|84 12 20 ec) ddedpd 0,f1,f2
|
||||
fc: (ec 08 0a 85|85 0a 08 ec) ddedpd\. 1,f0,f1
|
||||
100: (fc 48 22 84|84 22 48 fc) ddedpdq 1,f2,f4
|
||||
104: (fc 80 12 85|85 12 80 fc) ddedpdq\. 0,f4,f2
|
||||
108: (ec 20 16 84|84 16 20 ec) denbcd 0,f1,f2
|
||||
10c: (ec 10 0e 85|85 0e 10 ec) denbcd\. 1,f0,f1
|
||||
110: (fc 10 16 84|84 16 10 fc) denbcdq 1,f0,f2
|
||||
114: (fc 40 26 85|85 26 40 fc) denbcdq\. 0,f2,f4
|
||||
118: (ec 00 0a c4|c4 0a 00 ec) dxex f0,f1
|
||||
11c: (ec 40 1a c5|c5 1a 40 ec) dxex\. f2,f3
|
||||
120: (fc 80 32 c4|c4 32 80 fc) dxexq f4,f6
|
||||
124: (fc 40 02 c5|c5 02 40 fc) dxexq\. f2,f0
|
||||
128: (ec 01 16 c4|c4 16 01 ec) diex f0,f1,f2
|
||||
12c: (ec 64 2e c5|c5 2e 64 ec) diex\. f3,f4,f5
|
||||
130: (fc 02 26 c4|c4 26 02 fc) diexq f0,f2,f4
|
||||
134: (fc c4 16 c5|c5 16 c4 fc) diexq\. f6,f4,f2
|
||||
138: (ec 22 00 84|84 00 22 ec) dscli f1,f2,0
|
||||
13c: (ec 03 fc 85|85 fc 03 ec) dscli\. f0,f3,63
|
||||
140: (fc 48 04 84|84 04 48 fc) dscliq f2,f8,1
|
||||
144: (fc 86 80 85|85 80 86 fc) dscliq\. f4,f6,32
|
||||
148: (ec 20 40 c4|c4 40 20 ec) dscri f1,f0,16
|
||||
14c: (ec 62 3c c5|c5 3c 62 ec) dscri\. f3,f2,15
|
||||
150: (fd 00 a8 c4|c4 a8 00 fd) dscriq f8,f0,42
|
||||
154: (fc 86 54 c5|c5 54 86 fc) dscriq\. f4,f6,21
|
90
gas/testsuite/gas/ppc/power6-dfp.s
Normal file
90
gas/testsuite/gas/ppc/power6-dfp.s
Normal file
@ -0,0 +1,90 @@
|
||||
# POWER6 DFP Instructions
|
||||
#as: -mpower6
|
||||
.text
|
||||
start:
|
||||
dadd 16,17,18
|
||||
dadd. 16,17,18
|
||||
daddq 20,22,24
|
||||
daddq. 20,22,24
|
||||
dsub 16,17,18
|
||||
dsub. 16,17,18
|
||||
dsubq 20,22,24
|
||||
dsubq. 20,22,24
|
||||
dmul 16,17,18
|
||||
dmul. 16,17,18
|
||||
dmulq 20,22,24
|
||||
dmulq. 20,22,24
|
||||
ddiv 16,17,18
|
||||
ddiv. 16,17,18
|
||||
ddivq 20,22,24
|
||||
ddivq. 20,22,24
|
||||
dcmpo 1,3,5
|
||||
dcmpoq 3,6,4
|
||||
dcmpu 2,3,5
|
||||
dcmpuq 2,6,4
|
||||
dtstdc 0,1,0x3f
|
||||
dtstdcq 0,2,0x00
|
||||
dtstdg 0,3,0x20
|
||||
dtstdgq 0,4,0x01
|
||||
dtstex 7,1,5
|
||||
dtstexq 6,2,6
|
||||
dtstsf 5,3,7
|
||||
dtstsfq 4,4,8
|
||||
dquai -16,0,4,1
|
||||
dquai. -16,0,4,1
|
||||
dquaiq 15,2,6,3
|
||||
dquaiq. 15,2,6,3
|
||||
dqua 1,2,5,0
|
||||
dqua. 3,4,6,1
|
||||
dquaq 2,6,4,2
|
||||
dquaq. 4,8,2,3
|
||||
drrnd 1,2,3,1
|
||||
drrnd. 2,4,6,1
|
||||
drrndq 0,2,4,2
|
||||
drrndq. 4,6,8,2
|
||||
drintx 0,1,2,0
|
||||
drintx. 1,2,1,1
|
||||
drintxq 0,2,4,2
|
||||
drintxq. 1,4,6,3
|
||||
drintn 1,1,3,0
|
||||
drintn. 0,4,2,1
|
||||
drintnq 1,0,2,2
|
||||
drintnq. 0,4,2,3
|
||||
dctdp 2,4
|
||||
dctdp. 2,4
|
||||
dctqpq 2,4
|
||||
dctqpq. 2,4
|
||||
drsp 2,4
|
||||
drsp. 2,4
|
||||
drdpq 2,4
|
||||
drdpq. 2,4
|
||||
dcffixq 2,4
|
||||
dcffixq. 2,4
|
||||
dctfix 2,4
|
||||
dctfix. 2,4
|
||||
dctfixq 2,4
|
||||
dctfixq. 2,4
|
||||
ddedpd 0,1,2
|
||||
ddedpd. 1,0,1
|
||||
ddedpdq 1,2,4
|
||||
ddedpdq. 0,4,2
|
||||
denbcd 0,1,2
|
||||
denbcd. 1,0,1
|
||||
denbcdq 1,0,2
|
||||
denbcdq. 0,2,4
|
||||
dxex 0,1
|
||||
dxex. 2,3
|
||||
dxexq 4,6
|
||||
dxexq. 2,0
|
||||
diex 0,1,2
|
||||
diex. 3,4,5
|
||||
diexq 0,2,4
|
||||
diexq. 6,4,2
|
||||
dscli 1,2,0x00
|
||||
dscli. 0,3,0x3f
|
||||
dscliq 2,8,0x01
|
||||
dscliq. 4,6,0x20
|
||||
dscri 1,0,0x10
|
||||
dscri. 3,2,0x0f
|
||||
dscriq 8,0,0x2a
|
||||
dscriq. 4,6,0x15
|
@ -114,6 +114,7 @@ run_dump_test "e6500_nop"
|
||||
run_dump_test "power4_32"
|
||||
run_dump_test "power5"
|
||||
run_dump_test "power6"
|
||||
run_dump_test "power6-dfp"
|
||||
run_dump_test "power7"
|
||||
run_dump_test "power8"
|
||||
run_dump_test "power9"
|
||||
|
Loading…
Reference in New Issue
Block a user