.ifndef extra .set extra,0 .endif .macro case .if \@ < 10 .word .L1000\@-. .elseif \@ < 100 .word .L100\@-. .elseif \@ < 1000 .word .L10\@-. .else .word .L1\@-. .endif .set counter,1+\@ .endm .macro case_label .L\@: nop .endm .macro padder .endm .text .align 1 .global x .type x,@function x: .rept 4095+extra case .endr .rept 10000-counter padder .endr after: ; Force a secondary jump-table entry for every label. .fill 32768 .rept counter case_label .endr move.d esymbol,$r10 .size x,.-x .align 1