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 the specified number of bits. Emptied lower bits are zeroed.
8 - go: ShiftAllRight
9 signed: false
10 nameAndSizeCheck: true
11 specialLower: sftimm
12 commutative: false
13 documentation: !string |-
14 // NAME shifts each element to the right by the specified number of bits. Emptied upper bits are zeroed.
15 - go: ShiftAllRight
16 signed: true
17 specialLower: sftimm
18 nameAndSizeCheck: true
19 commutative: false
20 documentation: !string |-
21 // NAME shifts each element to the right by the specified number of bits. Emptied upper bits are filled with the sign bit.
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. Emptied lower bits are zeroed.
48 - go: ShiftRight
49 signed: false
50 nameAndSizeCheck: true
51 commutative: false
52 documentation: !string |-
53 // NAME shifts each element in x to the right by the number of bits specified in y's corresponding elements. Emptied upper bits are zeroed.
54 - go: ShiftRight
55 signed: true
56 nameAndSizeCheck: true
57 commutative: false
58 documentation: !string |-
59 // NAME shifts each element in x to the right by the number of bits specified in y's corresponding elements. Emptied upper bits are filled with the sign bit.
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 the immediate.
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 the immediate.
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 the
85 // immediate(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 the
91 // immediate(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.
104
View as plain text