5.9.2 .irp symbol, value1
 [, ..., valuen]
... 
.endr

Evaluate a sequence of statements assigning different values to symbol. The sequence of statements starts at the .irp directive, and is terminated by a .endr directive. For each value, symbol is set to value, and the sequence of statements is assembled. If no value is listed, the sequence of statements is assembled once, with symbol set to the null string. To refer to symbol within the sequence of statements, use \symbol.

For example, assembling:

.irp reg,0,1,2,3
push w\reg
.endr

is equivalent to assembling:

push w0
push w1
push w2
push w3