1 --- fixedshift.py.orig 2020-05-11 10:20:55.781417649 -0400
2 +++ fixedshift.py 2020-05-13 14:02:01.147691354 -0400
4 def op_rlwinm(self, RS):
6 r = ROTL32(RS[32:64], n)
7 - m = MASK(MB + 32, ME + 32)
8 + m = MASK(MB.value + 32, ME.value + 32)
13 def op_rlwinm_(self, RS):
15 r = ROTL32(RS[32:64], n)
16 - m = MASK(MB + 32, ME + 32)
17 + m = MASK(MB.value + 32, ME.value + 32)
22 def op_rlwnm(self, RB, RS):
24 r = ROTL32(RS[32:64], n)
25 - m = MASK(MB + 32, ME + 32)
26 + m = MASK(MB.value + 32, ME.value + 32)
31 def op_rlwnm_(self, RB, RS):
33 r = ROTL32(RS[32:64], n)
34 - m = MASK(MB + 32, ME + 32)
35 + m = MASK(MB.value + 32, ME.value + 32)
40 def op_rlwimi(self, RS, RA):
42 r = ROTL32(RS[32:64], n)
43 - m = MASK(MB + 32, ME + 32)
44 + m = MASK(MB.value + 32, ME.value + 32)
49 def op_rlwimi_(self, RS, RA):
51 r = ROTL32(RS[32:64], n)
52 - m = MASK(MB + 32, ME + 32)
53 + m = MASK(MB.value + 32, ME.value + 32)
59 def op_slw(self, RB, RS):
61 - r = ROTL32(RS[32:64], n)
62 + r = ROTL32(RS[32:64], n.value)
64 - m = MASK(32, 63 - n)
65 + m = MASK(32, 63 - n.value)
67 m = concat(0, repeat=64)
71 def op_slw_(self, RB, RS):
73 - r = ROTL32(RS[32:64], n)
74 + r = ROTL32(RS[32:64], n.value)
76 - m = MASK(32, 63 - n)
77 + m = MASK(32, 63 - n.value)
79 m = concat(0, repeat=64)
83 def op_srw(self, RB, RS):
85 - r = ROTL32(RS[32:64], 64 - n)
86 + r = ROTL32(RS[32:64], 64 - n.value)
88 - m = MASK(n + 32, 63)
89 + m = MASK(n.value + 32, 63)
91 m = concat(0, repeat=64)
95 def op_srw_(self, RB, RS):
97 - r = ROTL32(RS[32:64], 64 - n)
98 + r = ROTL32(RS[32:64], 64 - n.value)
100 - m = MASK(n + 32, 63)
101 + m = MASK(n.value + 32, 63)
103 m = concat(0, repeat=64)
107 def op_srawi(self, RS):
109 - r = ROTL32(RS[32:64], 64 - n)
110 - m = MASK(n + 32, 63)
111 + r = ROTL32(RS[32:64], 64 - n.value)
112 + m = MASK(n.value + 32, 63)
114 RA = r & m | concat(s, repeat=64) & ~m
115 carry = s & ne((r & ~m)[32:64], 0)
118 def op_srawi_(self, RS):
120 - r = ROTL32(RS[32:64], 64 - n)
121 - m = MASK(n + 32, 63)
122 + r = ROTL32(RS[32:64], 64 - n.value)
123 + m = MASK(n.value + 32, 63)
125 RA = r & m | concat(s, repeat=64) & ~m
126 carry = s & ne((r & ~m)[32:64], 0)
129 def op_sraw(self, RB, RS):
131 - r = ROTL32(RS[32:64], 64 - n)
132 + r = ROTL32(RS[32:64], 64 - n.value)
134 - m = MASK(n + 32, 63)
135 + m = MASK(n.value + 32, 63)
137 m = concat(0, repeat=64)
141 def op_sraw_(self, RB, RS):
143 - r = ROTL32(RS[32:64], 64 - n)
144 + r = ROTL32(RS[32:64], 64 - n.value)
146 - m = MASK(n + 32, 63)
147 + m = MASK(n.value + 32, 63)
149 m = concat(0, repeat=64)