...
1!sum
2- go: ShiftAllLeft
3 nameAndSizeCheck: true
4 specialLower: sftimm
5 commutative: false
6 documentation: !string |-
7 // NAME shifts each element to the left by y bits.
8- go: ShiftAllRight
9 signed: false
10 nameAndSizeCheck: true
11 specialLower: sftimm
12 commutative: false
13 documentation: !string |-
14 // NAME performs an unsigned right shift on each element by y bits.
15- go: ShiftAllRight
16 signed: true
17 specialLower: sftimm
18 nameAndSizeCheck: true
19 commutative: false
20 documentation: !string |-
21 // NAME performs a signed right shift on each element by y bits.
22- go: shiftAllLeftConst # no APIs, only ssa ops.
23 noTypes: "true"
24 noGenericOps: "true"
25 SSAVariant: "const" # to avoid its name colliding with reg version of this instruction, amend this to its ssa op name.
26 nameAndSizeCheck: true
27 commutative: false
28- go: shiftAllRightConst # no APIs, only ssa ops.
29 noTypes: "true"
30 noGenericOps: "true"
31 SSAVariant: "const"
32 signed: false
33 nameAndSizeCheck: true
34 commutative: false
35- go: shiftAllRightConst # no APIs, only ssa ops.
36 noTypes: "true"
37 noGenericOps: "true"
38 SSAVariant: "const"
39 signed: true
40 nameAndSizeCheck: true
41 commutative: false
42
43- go: ShiftLeft
44 nameAndSizeCheck: true
45 commutative: false
46 documentation: !string |-
47 // NAME shifts each element in x to the left by the number of bits specified in y's corresponding elements.
48- go: ShiftRight
49 signed: false
50 nameAndSizeCheck: true
51 commutative: false
52 documentation: !string |-
53 // NAME performs an unsigned right shift on each element in x by the number of bits specified in y's corresponding elements.
54- go: ShiftRight
55 signed: true
56 nameAndSizeCheck: true
57 commutative: false
58 documentation: !string |-
59 // NAME performs a signed right shift on each element in x by the number of bits specified in y's corresponding elements.
60- go: RotateAllLeft
61 nameAndSizeCheck: true
62 commutative: false
63 documentation: !string |-
64 // NAME rotates each element to the left by the number of bits specified by shift.
65- go: RotateLeft
66 nameAndSizeCheck: true
67 commutative: false
68 documentation: !string |-
69 // NAME rotates each element in x to the left by the number of bits specified by y's corresponding elements.
70- go: RotateAllRight
71 nameAndSizeCheck: true
72 commutative: false
73 documentation: !string |-
74 // NAME rotates each element to the right by the number of bits specified by shift.
75- go: RotateRight
76 nameAndSizeCheck: true
77 commutative: false
78 documentation: !string |-
79 // NAME rotates each element in x to the right by the number of bits specified by y's corresponding elements.
80- go: ShiftAllLeftConcat
81 nameAndSizeCheck: true
82 commutative: false
83 documentation: !string |-
84 // NAME shifts each element of x to the left by the number of bits specified by
85 // shift (only the lower 5 bits are used), and then copies the upper bits of y to the emptied lower bits of the shifted x.
86- go: ShiftAllRightConcat
87 nameAndSizeCheck: true
88 commutative: false
89 documentation: !string |-
90 // NAME shifts each element of x to the right by the number of bits specified by
91 // shift (only the lower 5 bits are used), and then copies the lower bits of y to the emptied upper bits of the shifted x.
92- go: ShiftLeftConcat
93 nameAndSizeCheck: true
94 commutative: false
95 documentation: !string |-
96 // NAME shifts each element of x to the left by the number of bits specified by the
97 // corresponding elements in y (only the lower 5 bits are used), and then copies the upper bits of z to the emptied lower bits of the shifted x.
98- go: ShiftRightConcat
99 nameAndSizeCheck: true
100 commutative: false
101 documentation: !string |-
102 // NAME shifts each element of x to the right by the number of bits specified by the
103 // corresponding elements in y (only the lower 5 bits are used), and then copies the lower bits of z to the emptied upper bits of the shifted x.
View as plain text