Assembly dump of isprime and genprime functions:
Code:
--- prog list "isprime" ---
0033 (genprime.go:46) TEXT isprime+0(SB),$40-16
0034 (genprime.go:46) MOVL x+0(FP),CX
0035 (genprime.go:15) JMP ,37
0036 (genprime.go:15) JMP ,42
0037 (genprime.go:15) CMPL CX,$2
0038 (genprime.go:15) JGE ,36
0039 (genprime.go:16) MOVL $0,.noname+8(FP)
0040 (genprime.go:16) RET ,
0041 (genprime.go:15) JMP ,42
0042 (genprime.go:18) JMP ,44
0043 (genprime.go:18) JMP ,49
0044 (genprime.go:18) CMPL CX,$4
0045 (genprime.go:18) JGE ,43
0046 (genprime.go:19) MOVL $1,.noname+8(FP)
0047 (genprime.go:19) RET ,
0048 (genprime.go:18) JMP ,49
0049 (genprime.go:21) JMP ,51
0050 (genprime.go:21) JMP ,56
0051 (genprime.go:21) CMPL CX,$5
0052 (genprime.go:21) JNE ,50
0053 (genprime.go:22) MOVL $1,.noname+8(FP)
0054 (genprime.go:22) RET ,
0055 (genprime.go:21) JMP ,56
0056 (genprime.go:24) JMP ,58
0057 (genprime.go:24) JMP ,71
0058 (genprime.go:24) MOVL CX,BX
0059 (genprime.go:24) MOVL CX,BP
0060 (genprime.go:24) MOVL CX,R8
0061 (genprime.go:24) SARL $31,R8
0062 (genprime.go:24) SUBL R8,BP
0063 (genprime.go:24) SARL $1,BP
0064 (genprime.go:24) IMULL $2,BP
0065 (genprime.go:24) SUBL BP,BX
0066 (genprime.go:24) CMPL BX,$0
0067 (genprime.go:24) JNE ,57
0068 (genprime.go:25) MOVL $0,.noname+8(FP)
0069 (genprime.go:25) RET ,
0070 (genprime.go:24) JMP ,71
0071 (genprime.go:27) JMP ,73
0072 (genprime.go:27) JMP ,88
0073 (genprime.go:27) MOVL CX,BX
0074 (genprime.go:27) MOVL CX,R8
0075 (genprime.go:27) MOVL $1717986919,AX
0076 (genprime.go:27) IMULL CX,
0077 (genprime.go:27) SARL $1,DX
0078 (genprime.go:27) SARL $31,R8
0079 (genprime.go:27) SUBL R8,DX
0080 (genprime.go:27) MOVL DX,BP
0081 (genprime.go:27) IMULL $5,BP
0082 (genprime.go:27) SUBL BP,BX
0083 (genprime.go:27) CMPL BX,$0
0084 (genprime.go:27) JNE ,72
0085 (genprime.go:28) MOVL $0,.noname+8(FP)
0086 (genprime.go:28) RET ,
0087 (genprime.go:27) JMP ,88
0088 (genprime.go:30) JMP ,90
0089 (genprime.go:30) JMP ,122
0090 (genprime.go:30) MOVL CX,BX
0091 (genprime.go:30) INCL ,BX
0092 (genprime.go:30) MOVL BX,R8
0093 (genprime.go:30) MOVL $715827883,AX
0094 (genprime.go:30) IMULL BX,
0095 (genprime.go:30) SARL $0,DX
0096 (genprime.go:30) SARL $31,R8
0097 (genprime.go:30) SUBL R8,DX
0098 (genprime.go:30) MOVL DX,BP
0099 (genprime.go:30) IMULL $6,BP
0100 (genprime.go:30) SUBL BP,BX
0101 (genprime.go:30) CMPL BX,$0
0102 (genprime.go:30) JEQ ,89
0103 (genprime.go:31) JMP ,105
0104 (genprime.go:31) JMP ,121
0105 (genprime.go:31) MOVL CX,BX
0106 (genprime.go:31) DECL ,BX
0107 (genprime.go:31) MOVL BX,R8
0108 (genprime.go:31) MOVL $715827883,AX
0109 (genprime.go:31) IMULL BX,
0110 (genprime.go:31) SARL $0,DX
0111 (genprime.go:31) SARL $31,R8
0112 (genprime.go:31) SUBL R8,DX
0113 (genprime.go:31) MOVL DX,BP
0114 (genprime.go:31) IMULL $6,BP
0115 (genprime.go:31) SUBL BP,BX
0116 (genprime.go:31) CMPL BX,$0
0117 (genprime.go:31) JEQ ,104
0118 (genprime.go:32) MOVL $0,.noname+8(FP)
0119 (genprime.go:32) RET ,
0120 (genprime.go:31) JMP ,121
0121 (genprime.go:30) JMP ,122
0122 (genprime.go:35) MOVL $0,match+-4(SP)
0123 (genprime.go:36) CVTSL2SD CX,X1
0124 (genprime.go:36) MOVSD X1,(SP)
0125 (genprime.go:36) CALL ,math.Sqrt+0(SB)
0126 (genprime.go:36) MOVL match+-4(SP),SI
0127 (genprime.go:36) MOVSD 8(SP),X0
0128 (genprime.go:36) MOVSD $(1.00000000000000000e+00),X1
0129 (genprime.go:36) ADDSD X1,X0
0130 (genprime.go:36) MOVSD X0,X5
0131 (genprime.go:37) MOVL $3,CX
0132 (genprime.go:37) JMP ,135
0133 (genprime.go:37) JMP ,150
0134 (genprime.go:37) ADDL $2,CX
0135 (genprime.go:37) CVTSL2SD CX,X1
0136 (genprime.go:37) MOVSD X1,X0
0137 (genprime.go:37) UCOMISD X1,X5
0138 (genprime.go:37) JLS ,133
0139 (genprime.go:38) JMP ,141
0140 (genprime.go:38) JMP ,149
0141 (genprime.go:38) MOVL x+0(FP),AX
0142 (genprime.go:38) CDQ ,
0143 (genprime.go:38) IDIVL CX,
0144 (genprime.go:38) CMPL DX,$0
0145 (genprime.go:38) JNE ,140
0146 (genprime.go:39) MOVL $1,SI
0147 (genprime.go:40) JMP ,133
0148 (genprime.go:38) JMP ,149
0149 (genprime.go:37) JMP ,134
0150 (genprime.go:43) JMP ,152
0151 (genprime.go:43) JMP ,157
0152 (genprime.go:43) CMPL SI,$1
0153 (genprime.go:43) JNE ,151
0154 (genprime.go:44) MOVL $0,.noname+8(FP)
0155 (genprime.go:44) RET ,
0156 (genprime.go:43) JMP ,157
0157 (genprime.go:46) MOVL $1,.noname+8(FP)
0158 (genprime.go:46) RET ,
0159 (genprime.go:46) CALL ,runtime.throwreturn+0(SB)
0160 (genprime.go:46) RET ,
--- prog list "genprime" ---
0161 (genprime.go:56) TEXT genprime+0(SB),$24-16
0162 (genprime.go:50) MOVL $1,AX
0163 (genprime.go:51) MOVL $0,CX
0164 (genprime.go:51) JMP ,167
0165 (genprime.go:51) JMP ,184
0166 (genprime.go:51) INCL ,AX
0167 (genprime.go:51) MOVL CX,count+-8(SP)
0168 (genprime.go:51) MOVL max+0(FP),BP
0169 (genprime.go:51) CMPL CX,BP
0170 (genprime.go:51) JGE ,165
0171 (genprime.go:52) JMP ,173
0172 (genprime.go:52) JMP ,183
0173 (genprime.go:52) MOVL AX,current+-4(SP)
0174 (genprime.go:52) MOVL AX,(SP)
0175 (genprime.go:52) CALL ,isprime+0(SB)
0176 (genprime.go:52) MOVL count+-8(SP),CX
0177 (genprime.go:52) MOVL current+-4(SP),AX
0178 (genprime.go:52) MOVL 8(SP),BX
0179 (genprime.go:52) CMPL BX,$1
0180 (genprime.go:52) JNE ,172
0181 (genprime.go:53) INCL ,CX
0182 (genprime.go:52) JMP ,183
0183 (genprime.go:51) JMP ,166
0184 (genprime.go:56) MOVL AX,BX
0185 (genprime.go:56) DECL ,BX
0186 (genprime.go:56) MOVL BX,.noname+8(FP)
0187 (genprime.go:56) RET ,
0188 (genprime.go:56) CALL ,runtime.throwreturn+0(SB)
0189 (genprime.go:56) RET ,