Commit | Line | Data |
---|---|---|
c2c4ff8d SN |
1 | /* Test file for ARMv8.3 complex arithmetics instructions. */ |
2 | .text | |
3 | ||
369c9167 TC |
4 | .macro three_same op, sz |
5 | .irp rot, 0, 90, 180, 270 | |
6 | .irp d, 1.\sz, 2.\sz, 5.\sz, 13.\sz, 27.\sz | |
7 | .irp m, 2.\sz, 3.\sz, 5.\sz, 14.\sz, 31.\sz | |
8 | .irp n, 3.\sz, 4.\sz, 6.\sz, 15.\sz, 30.\sz | |
9 | \op v\d, v\m, v\n, #\rot | |
10 | .endr | |
11 | .endr | |
12 | .endr | |
13 | .endr | |
14 | .endm | |
15 | ||
16 | .macro three_element op, sz1, sz2, idx | |
17 | .irp rot, 0, 90, 180, 270 | |
18 | .irp d, 1.\sz1, 2.\sz1, 5.\sz1, 13.\sz1, 27.\sz1 | |
19 | .irp m, 2.\sz1, 3.\sz1, 5.\sz1, 14.\sz1, 31.\sz1 | |
20 | .irp n, 3.\sz2, 4.\sz2, 6.\sz2, 15.\sz2, 30.\sz2 | |
21 | \op v\d, v\m, v\n[\idx], #\rot | |
22 | .endr | |
23 | .endr | |
24 | .endr | |
25 | .endr | |
26 | .endm | |
c2c4ff8d | 27 | |
369c9167 TC |
28 | .macro three_same_rot op, sz |
29 | .irp rot, 90, 270 | |
30 | .irp d, 1.\sz, 2.\sz, 5.\sz, 13.\sz, 27.\sz | |
31 | .irp m, 2.\sz, 3.\sz, 5.\sz, 14.\sz, 31.\sz | |
32 | .irp n, 3.\sz, 4.\sz, 6.\sz, 15.\sz, 30.\sz | |
33 | \op v\d, v\m, v\n, #\rot | |
34 | .endr | |
35 | .endr | |
36 | .endr | |
37 | .endr | |
38 | .endm | |
39 | ||
40 | /* Three-same operands FCMLA. */ | |
41 | three_same fcmla, 2d | |
42 | three_same fcmla, 2s | |
43 | three_same fcmla, 4s | |
44 | three_same fcmla, 4h | |
45 | three_same fcmla, 8h | |
c2c4ff8d SN |
46 | |
47 | /* Indexed element FCMLA. */ | |
369c9167 TC |
48 | three_element fcmla, 4s, s, 0 |
49 | three_element fcmla, 4s, s, 1 | |
c2c4ff8d | 50 | |
369c9167 TC |
51 | three_element fcmla, 4h, h, 0 |
52 | three_element fcmla, 4h, h, 1 | |
53 | ||
54 | three_element fcmla, 8h, h, 0 | |
55 | three_element fcmla, 8h, h, 1 | |
56 | three_element fcmla, 8h, h, 2 | |
57 | three_element fcmla, 8h, h, 3 | |
c2c4ff8d | 58 | |
369c9167 TC |
59 | /* Three-same operands FADD. */ |
60 | three_same_rot fcadd, 2d | |
61 | three_same_rot fcadd, 2s | |
62 | three_same_rot fcadd, 4s | |
63 | three_same_rot fcadd, 4h | |
64 | three_same_rot fcadd, 8h |