@@ -308,7 +308,8 @@ var optab = []Optab{
308308 {ABEQ , C_REG , C_REG , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , 0 },
309309 {ABEQ , C_REG , C_NONE , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , 0 },
310310 {ABLEZ , C_REG , C_NONE , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , 0 },
311- {ABFPT , C_NONE , C_NONE , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , NOTUSETMP },
311+ {ABFPT , C_NONE , C_NONE , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , 0 },
312+ {ABFPT , C_FCCREG , C_NONE , C_NONE , C_BRAN , C_NONE , 6 , 4 , 0 , 0 },
312313
313314 {AJMP , C_NONE , C_NONE , C_NONE , C_BRAN , C_NONE , 11 , 4 , 0 , 0 }, // b
314315 {AJAL , C_NONE , C_NONE , C_NONE , C_BRAN , C_NONE , 11 , 4 , 0 , 0 }, // bl
@@ -1985,7 +1986,9 @@ func (c *ctxt0) asmout(p *obj.Prog, o *Optab, out []uint32) {
19851986 width = 21
19861987 // FCC0 is the implicit source operand, now that we
19871988 // don't register-allocate from the FCC bank.
1988- rj = REG_FCC0
1989+ if rj == 0 {
1990+ rj = REG_FCC0
1991+ }
19891992 case ABEQ , ABNE :
19901993 if rd == 0 || rd == REGZERO || rj == REGZERO {
19911994 // BEQZ/BNEZ can be encoded with 21-bit offsets.
0 commit comments