Skip to content

Commit d0b775d

Browse files
committed
Use consistent syntax for macro definitions and invocations
Most assemblers seems to support .macro definitions/invocations with and without commas between parameters. Some, however, require a comma. In the code base, we mix the two styles on the codebase -- sometimes even in the same file. This commit adjusts `autogen` to automatically adjust definitions and invocations of assembly macros to use comma-separated arguments. Signed-off-by: Hanno Becker <beckphan@amazon.co.uk>
1 parent 0a461b6 commit d0b775d

17 files changed

+181
-96
lines changed

dev/fips202/aarch64/src/keccak_f1600_x1_v84a_asm.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,19 +243,19 @@
243243

244244
/* Macros using v8.4-A SHA-3 instructions */
245245

246-
.macro eor3_m0 d s0 s1 s2
246+
.macro eor3_m0 d, s0, s1, s2
247247
eor3 \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
248248
.endm
249249

250-
.macro rax1_m0 d s0 s1
250+
.macro rax1_m0 d, s0, s1
251251
rax1 \d\().2d, \s0\().2d, \s1\().2d
252252
.endm
253253

254-
.macro xar_m0 d s0 s1 imm
254+
.macro xar_m0 d, s0, s1, imm
255255
xar \d\().2d, \s0\().2d, \s1\().2d, #\imm
256256
.endm
257257

258-
.macro bcax_m0 d s0 s1 s2
258+
.macro bcax_m0 d, s0, s1, s2
259259
bcax \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
260260
.endm
261261

dev/fips202/aarch64/src/keccak_f1600_x2_v84a_asm.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,19 +225,19 @@
225225

226226
/* Macros using v8.4-A SHA-3 instructions */
227227

228-
.macro eor3_m0 d s0 s1 s2
228+
.macro eor3_m0 d, s0, s1, s2
229229
eor3 \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
230230
.endm
231231

232-
.macro rax1_m0 d s0 s1
232+
.macro rax1_m0 d, s0, s1
233233
rax1 \d\().2d, \s0\().2d, \s1\().2d
234234
.endm
235235

236-
.macro xar_m0 d s0 s1 imm
236+
.macro xar_m0 d, s0, s1, imm
237237
xar \d\().2d, \s0\().2d, \s1\().2d, #\imm
238238
.endm
239239

240-
.macro bcax_m0 d s0 s1 s2
240+
.macro bcax_m0 d, s0, s1, s2
241241
bcax \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
242242
.endm
243243

dev/fips202/aarch64/src/keccak_f1600_x4_v8a_scalar_hybrid_asm.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,24 +166,24 @@
166166

167167
/************************ MACROS ****************************/
168168

169-
.macro eor3_m1 d s0 s1 s2
169+
.macro eor3_m1 d, s0, s1, s2
170170
eor \d\().16b, \s0\().16b, \s1\().16b
171171
eor \d\().16b, \d\().16b, \s2\().16b
172172
.endm
173173

174-
.macro rax1_m1 d s0 s1
174+
.macro rax1_m1 d, s0, s1
175175
add vtmp.2d, \s1\().2d, \s1\().2d
176176
sri vtmp.2d, \s1\().2d, #63
177177
eor \d\().16b, vtmp.16b, \s0\().16b
178178
.endm
179179

180-
.macro xar_m1 d s0 s1 imm
180+
.macro xar_m1 d, s0, s1, imm
181181
eor vtmp.16b, \s0\().16b, \s1\().16b
182182
shl \d\().2d, vtmp.2d, #(64-\imm)
183183
sri \d\().2d, vtmp.2d, #(\imm)
184184
.endm
185185

186-
.macro bcax_m1 d s0 s1 s2
186+
.macro bcax_m1 d, s0, s1, s2
187187
bic vtmp.16b, \s1\().16b, \s2\().16b
188188
eor \d\().16b, vtmp.16b, \s0\().16b
189189
.endm

dev/fips202/aarch64/src/keccak_f1600_x4_v8a_v84a_scalar_hybrid_asm.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,40 +168,40 @@
168168

169169
/************************ MACROS ****************************/
170170

171-
.macro eor3_m0 d s0 s1 s2
171+
.macro eor3_m0 d, s0, s1, s2
172172
eor3 \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
173173
.endm
174174

175-
.macro rax1_m0 d s0 s1
175+
.macro rax1_m0 d, s0, s1
176176
rax1 \d\().2d, \s0\().2d, \s1\().2d
177177
.endm
178178

179-
.macro xar_m0 d s0 s1 imm
179+
.macro xar_m0 d, s0, s1, imm
180180
xar \d\().2d, \s0\().2d, \s1\().2d, #\imm
181181
.endm
182182

183-
.macro bcax_m0 d s0 s1 s2
183+
.macro bcax_m0 d, s0, s1, s2
184184
bcax \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
185185
.endm
186186

187-
.macro eor3_m1 d s0 s1 s2
187+
.macro eor3_m1 d, s0, s1, s2
188188
eor \d\().16b, \s0\().16b, \s1\().16b
189189
eor \d\().16b, \d\().16b, \s2\().16b
190190
.endm
191191

192-
.macro rax1_m1 d s0 s1
192+
.macro rax1_m1 d, s0, s1
193193
add vtmp.2d, \s1\().2d, \s1\().2d
194194
sri vtmp.2d, \s1\().2d, #63
195195
eor \d\().16b, vtmp.16b, \s0\().16b
196196
.endm
197197

198-
.macro xar_m1 d s0 s1 imm
198+
.macro xar_m1 d, s0, s1, imm
199199
eor vtmp.16b, \s0\().16b, \s1\().16b
200200
shl \d\().2d, vtmp.2d, #(64-\imm)
201201
sri \d\().2d, vtmp.2d, #(\imm)
202202
.endm
203203

204-
.macro bcax_m1 d s0 s1 s2
204+
.macro bcax_m1 d, s0, s1, s2
205205
bic vtmp.16b, \s1\().16b, \s2\().16b
206206
eor \d\().16b, vtmp.16b, \s0\().16b
207207
.endm

dev/fips202/aarch64_symbolic/keccak_f1600_x4_v8a_scalar_hybrid_clean.S

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,24 +166,24 @@
166166

167167
/************************ MACROS ****************************/
168168

169-
.macro eor3_m1 d s0 s1 s2
169+
.macro eor3_m1 d, s0, s1, s2
170170
eor \d\().16b, \s0\().16b, \s1\().16b
171171
eor \d\().16b, \d\().16b, \s2\().16b
172172
.endm
173173

174-
.macro rax1_m1 d s0 s1
174+
.macro rax1_m1 d, s0, s1
175175
add vtmp.2d, \s1\().2d, \s1\().2d
176176
sri vtmp.2d, \s1\().2d, #63
177177
eor \d\().16b, vtmp.16b, \s0\().16b
178178
.endm
179179

180-
.macro xar_m1 d s0 s1 imm
180+
.macro xar_m1 d, s0, s1, imm
181181
eor vtmp.16b, \s0\().16b, \s1\().16b
182182
shl \d\().2d, vtmp.2d, #(64-\imm)
183183
sri \d\().2d, vtmp.2d, #(\imm)
184184
.endm
185185

186-
.macro bcax_m1 d s0 s1 s2
186+
.macro bcax_m1 d, s0, s1, s2
187187
bic vtmp.16b, \s1\().16b, \s2\().16b
188188
eor \d\().16b, vtmp.16b, \s0\().16b
189189
.endm

dev/fips202/aarch64_symbolic/keccak_f1600_x4_v8a_v84a_scalar_hybrid_clean.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,40 +168,40 @@
168168

169169
/************************ MACROS ****************************/
170170

171-
.macro eor3_m0 d s0 s1 s2
171+
.macro eor3_m0 d, s0, s1, s2
172172
eor3 \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
173173
.endm
174174

175-
.macro rax1_m0 d s0 s1
175+
.macro rax1_m0 d, s0, s1
176176
rax1 \d\().2d, \s0\().2d, \s1\().2d
177177
.endm
178178

179-
.macro xar_m0 d s0 s1 imm
179+
.macro xar_m0 d, s0, s1, imm
180180
xar \d\().2d, \s0\().2d, \s1\().2d, #\imm
181181
.endm
182182

183-
.macro bcax_m0 d s0 s1 s2
183+
.macro bcax_m0 d, s0, s1, s2
184184
bcax \d\().16b, \s0\().16b, \s1\().16b, \s2\().16b
185185
.endm
186186

187-
.macro eor3_m1 d s0 s1 s2
187+
.macro eor3_m1 d, s0, s1, s2
188188
eor \d\().16b, \s0\().16b, \s1\().16b
189189
eor \d\().16b, \d\().16b, \s2\().16b
190190
.endm
191191

192-
.macro rax1_m1 d s0 s1
192+
.macro rax1_m1 d, s0, s1
193193
add vtmp.2d, \s1\().2d, \s1\().2d
194194
sri vtmp.2d, \s1\().2d, #63
195195
eor \d\().16b, vtmp.16b, \s0\().16b
196196
.endm
197197

198-
.macro xar_m1 d s0 s1 imm
198+
.macro xar_m1 d, s0, s1, imm
199199
eor vtmp.16b, \s0\().16b, \s1\().16b
200200
shl \d\().2d, vtmp.2d, #(64-\imm)
201201
sri \d\().2d, vtmp.2d, #(\imm)
202202
.endm
203203

204-
.macro bcax_m1 d s0 s1 s2
204+
.macro bcax_m1 d, s0, s1, s2
205205
bic vtmp.16b, \s1\().16b, \s2\().16b
206206
eor \d\().16b, vtmp.16b, \s0\().16b
207207
.endm

dev/x86_64/src/fq.inc

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* AVX2 Kyber implementation @[REF_AVX2].
99
*/
1010

11-
.macro red16 r,rs=0,x=12
11+
.macro red16 r, rs=0, x=12
1212
vpmulhw %ymm1,%ymm\r,%ymm\x
1313
.if \rs
1414
vpmulhrsw %ymm\rs,%ymm\x,%ymm\x
@@ -19,22 +19,22 @@ vpmullw %ymm0,%ymm\x,%ymm\x
1919
vpsubw %ymm\x,%ymm\r,%ymm\r
2020
.endm
2121

22-
.macro csubq r,x=12
22+
.macro csubq r, x=12
2323
vpsubw %ymm0,%ymm\r,%ymm\r
2424
vpsraw $15,%ymm\r,%ymm\x
2525
vpand %ymm0,%ymm\x,%ymm\x
2626
vpaddw %ymm\x,%ymm\r,%ymm\r
2727
.endm
2828

29-
.macro caddq r,x=12
29+
.macro caddq r, x=12
3030
vpsraw $15,%ymm\r,%ymm\x
3131
vpand %ymm0,%ymm\x,%ymm\x
3232
vpaddw %ymm\x,%ymm\r,%ymm\r
3333
.endm
3434

3535
/* Montgomery multiplication between b and ah,
3636
* with Montgomery twist of ah in al. */
37-
.macro fqmulprecomp al,ah,b,x=12
37+
.macro fqmulprecomp al, ah, b, x=12
3838
vpmullw %ymm\al,%ymm\b,%ymm\x
3939
vpmulhw %ymm\ah,%ymm\b,%ymm\b
4040
vpmulhw %ymm0,%ymm\x,%ymm\x

dev/x86_64/src/intt.S

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
* Butterflies 0,1 use root zh0 and twisted root zl0, and butterflies
4242
* 2,3 use root zh1 and twisted root zl1
4343
* Results are again in rl{0-3} and rh{0-3} */
44-
.macro butterfly rl0,rl1,rl2,rl3,rh0,rh1,rh2,rh3,zl0=2,zl1=2,zh0=3,zh1=3
44+
.macro butterfly rl0, rl1, rl2, rl3, rh0, rh1, rh2, rh3, zl0=2, zl1=2, zh0=3, zh1=3
4545
vpsubw %ymm\rl0,%ymm\rh0,%ymm12 /* ymm12 = rh0 - rl0 */
4646
vpaddw %ymm\rh0,%ymm\rl0,%ymm\rl0 /* rl0 = rh0 + rl0 */
4747
vpsubw %ymm\rl1,%ymm\rh1,%ymm13 /* ymm13 = rh1 - rl1 */
@@ -121,7 +121,7 @@ vpshufb %ymm12,%ymm1,%ymm1
121121
vpshufb %ymm12,%ymm2,%ymm2
122122
vpshufb %ymm12,%ymm3,%ymm3
123123

124-
butterfly 4,5,8,9,6,7,10,11,15,1,2,3
124+
butterfly 4, 5, 8, 9, 6, 7, 10, 11, 15, 1, 2, 3
125125

126126
/* Montgmoery multiplication with a signed canonical twiddle
127127
* always has absolute value < q. This is used henceforth to
@@ -137,7 +137,7 @@ vmovdqa MLK_AVX2_BACKEND_DATA_OFFSET_REVIDXB*2(%rsi),%ymm1
137137
vpshufb %ymm1,%ymm2,%ymm2
138138
vpshufb %ymm1,%ymm3,%ymm3
139139

140-
butterfly 4,5,6,7,8,9,10,11,2,2,3,3
140+
butterfly 4, 5, 6, 7, 8, 9, 10, 11, 2, 2, 3, 3
141141

142142
/* For 8,9,10,11, it is sufficient to use the bound <q (much weaker
143143
* than what we used above) for the absolute value of the Montgomery
@@ -154,7 +154,7 @@ vmovdqa MLK_AVX2_BACKEND_DATA_OFFSET_REVIDXD*2(%rsi),%ymm12
154154
vpermd (MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+112)*2(%rsi),%ymm12,%ymm2
155155
vpermd (MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+128)*2(%rsi),%ymm12,%ymm10
156156

157-
butterfly 3,4,6,8,5,7,9,11,2,2,10,10
157+
butterfly 3, 4, 6, 8, 5, 7, 9, 11, 2, 2, 10, 10
158158
/* 3 abs bound < 8q, 4 abs bound < 4q, 6,8 abs bound < 2q, 5,7,9,11 abs bound < q */
159159

160160
// Broadcast 20159 (0x4ebf) to all elements of ymm1
@@ -173,7 +173,7 @@ shuffle2 9,11,5,11 // 5,11 abs bound < q
173173
vpermq $0x1B,(MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+80)*2(%rsi),%ymm2
174174
vpermq $0x1B,(MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+96)*2(%rsi),%ymm9
175175

176-
butterfly 10,3,6,5,4,8,7,11,2,2,9,9
176+
butterfly 10, 3, 6, 5, 4, 8, 7, 11, 2, 2, 9, 9
177177
/* 10 abs bound < 8q
178178
* 3 abs bound < 4q
179179
* 5,6 abs bound < 2q
@@ -198,7 +198,7 @@ shuffle4 7,11,4,11 /* 4,11 abs bound < q */
198198
vpermq $0x4E,(MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+48)*2(%rsi),%ymm2
199199
vpermq $0x4E,(MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+64)*2(%rsi),%ymm7
200200

201-
butterfly 9,10,6,4,3,5,8,11,2,2,7,7
201+
butterfly 9, 10, 6, 4, 3, 5, 8, 11, 2, 2, 7, 7
202202
/* 9 abs bound < 8q
203203
* 10 abs bound < 4q
204204
* 4,6 abs bound <2q
@@ -217,7 +217,7 @@ shuffle8 8,11,3,11 /* 3,11 abs bound < q */
217217
vmovdqa (MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+16)*2(%rsi),%ymm2
218218
vmovdqa (MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+(1-\off)*224+32)*2(%rsi),%ymm8
219219

220-
butterfly 7,9,6,3,10,4,5,11,2,2,8,8
220+
butterfly 7, 9, 6, 3, 10, 4, 5, 11, 2, 2, 8, 8
221221
/* 7 abs bound <8q
222222
* 9 abs bound <4q
223223
* 6,3 abs bound < 2q
@@ -254,7 +254,7 @@ vmovdqa (64*\off+ 48)*2(%rdi),%ymm7
254254
vmovdqa (64*\off+176)*2(%rdi),%ymm11
255255
vpbroadcastq (MLK_AVX2_BACKEND_DATA_OFFSET_ZETAS_EXP+4)*2(%rsi),%ymm3
256256

257-
butterfly 4,5,6,7,8,9,10,11
257+
butterfly 4, 5, 6, 7, 8, 9, 10, 11
258258
/* global abs bound < 8q */
259259

260260
/* REF-CHANGE: The official AVX2 implementation has a `red16 4` for `off=0`.

0 commit comments

Comments
 (0)