31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x0 |
(sequence () (sequence () (set sys-sr-cy (addc-cflag WI rA rB 0)) (set sys-sr-ov (addc-oflag WI rA rB 0)) (set rD (add WI rA rB))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x1 |
(sequence () (sequence ((BI tmp-sys-sr-cy)) (set tmp-sys-sr-cy sys-sr-cy) (set sys-sr-cy (addc-cflag WI rA rB tmp-sys-sr-cy)) (set sys-sr-ov (addc-oflag WI rA rB tmp-sys-sr-cy)) (set rD (addc WI rA rB tmp-sys-sr-cy))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x27 | rD | rA | simm16 |
(sequence () (sequence () (set sys-sr-cy (addc-cflag WI rA (ext WI simm16) 0)) (set sys-sr-ov (addc-oflag WI rA (ext WI simm16) 0)) (set rD (add WI rA (ext WI simm16)))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x28 | rD | rA | simm16 |
(sequence () (sequence ((BI tmp-sys-sr-cy)) (set tmp-sys-sr-cy sys-sr-cy) (set sys-sr-cy (addc-cflag WI rA (ext WI simm16) tmp-sys-sr-cy)) (set sys-sr-ov (addc-oflag WI rA (ext WI simm16) tmp-sys-sr-cy)) (set rD (addc WI rA (ext WI simm16) tmp-sys-sr-cy))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-disp21 |
0x2 | rD | disp21 |
(set rD (add WI (sll UDI disp21 13) (and UDI pc -8192)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x3 |
(set rD (and UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-uimm16 |
0x29 | rD | rA | uimm16 |
(set rD (and UDI rA (zext UWI uimm16)))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-disp26 |
0x4 | disp26 |
(sequence () (if sys-sr-f (delay VOID 1 (set pc disp26)) (if sys-cpucfgr-nd (delay VOID 1 (set pc (add UDI pc 4))))) (if sys-cpucfgr-nd (skip VOID 1)))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-disp26 |
0x3 | disp26 |
(sequence () (if (not UDI sys-sr-f) (delay VOID 1 (set pc disp26)) (if sys-cpucfgr-nd (delay VOID 1 (set pc (add UDI pc 4))))) (if sys-cpucfgr-nd (skip VOID 1)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 | 9 8 | 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-1 | f-op-9-2 | f-resv-7-4 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x0 | 0x0 | 0xe |
(if sys-sr-f (set rD rA) (set rD rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-resv-20-21 |
0x8 | 0x18 | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x1c | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x1d | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x1e | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x1f | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x3c | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x3d | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x3e | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x3f | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x30 | 0x9 |
(if (ne rB 0) (sequence () (set sys-sr-ov 0) (set rD (div WI rA rB))) (sequence () (set sys-sr-ov 1) (if sys-sr-ove (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE)))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x30 | 0xa |
(if (ne rB 0) (sequence () (set sys-sr-cy 0) (set rD (udiv UWI rA rB))) (sequence () (set sys-sr-cy 1) (if sys-sr-ove (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE)))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x1 | 0x0 | 0xc |
(set rD (ext WI (trunc QI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x3 | 0x0 | 0xc |
(set rD (zext UWI (trunc UQI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x0 | 0x0 | 0xc |
(set rD (ext WI (trunc HI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x2 | 0x0 | 0xc |
(set rD (zext UWI (trunc UHI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x0 | 0x0 | 0xd |
(set rD (ext WI (trunc SI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 | 9 8 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-6 | f-op-9-4 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | 0x0 | 0x1 | 0x0 | 0xd |
(set rD (zext USI (trunc USI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0xf |
(set rD (c-call UWI "@cpu@_ff1" rA))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x10 | 0xf |
(set rD (c-call UWI "@cpu@_fl1" rA))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-disp26 |
0x0 | disp26 |
(sequence () (delay VOID 1 (set pc disp26)) (if sys-cpucfgr-nd (skip VOID 1)))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-disp26 |
0x1 | disp26 |
(sequence () (set (reg UDI h-gpr 9) (add UDI pc (if INT sys-cpucfgr-nd 4 8))) (sequence () (delay VOID 1 (set pc disp26)) (if sys-cpucfgr-nd (skip VOID 1))))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-10 | f-r3 | f-resv-10-11 |
0x12 | 0x0 | rB | 0x0 |
(sequence () (set (reg UDI h-gpr 9) (add UDI pc (if INT sys-cpucfgr-nd 4 8))) (sequence () (delay VOID 1 (set pc rB)) (if sys-cpucfgr-nd (skip VOID 1))))
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-10 | f-r3 | f-resv-10-11 |
0x11 | 0x0 | rB | 0x0 |
(sequence () (delay VOID 1 (set pc rB)) (if sys-cpucfgr-nd (skip VOID 1)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x24 | rD | rA | simm16 |
(set rD (ext WI (mem QI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 1))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x23 | rD | rA | simm16 |
(set rD (zext UWI (mem UQI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 1))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x26 | rD | rA | simm16 |
(set rD (ext WI (mem HI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 2))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x25 | rD | rA | simm16 |
(set rD (zext UWI (mem UHI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 2))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x1b | rD | rA | simm16 |
(sequence () (set rD (zext UWI (mem USI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 4)))) (set atomic-reserve 1) (set atomic-address (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 4)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x22 | rD | rA | simm16 |
(set rD (ext WI (mem SI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 4))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x21 | rD | rA | simm16 |
(set rD (zext UWI (mem USI (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16) 4))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x31 | 0x0 | rA | rB | 0x0 | 0x1 |
(sequence () (sequence ((DI prod) (DI mac) (DI result)) (set prod (mul DI (ext DI rA) (ext DI rB))) (set mac (join DI SI mac-machi mac-maclo)) (set result (add DI prod mac)) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)) (set sys-sr-ov (addc-oflag DI prod mac 0))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-5 | f-r2 | f-simm16 |
0x13 | 0x0 | rA | simm16 |
(sequence () (sequence ((DI prod) (DI mac) (DI result)) (set prod (mul DI (ext DI rA) (ext DI simm16))) (set mac (join DI SI mac-machi mac-maclo)) (set result (add DI mac prod)) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)) (set sys-sr-ov (addc-oflag DI prod mac 0))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 | 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-20-4 | f-op-16-1 | f-uimm16 |
0x6 | rD | 0x0 | 0x1 | 0x0 |
(sequence () (set rD mac-maclo) (set mac-maclo 0) (set mac-machi 0))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x31 | 0x0 | rA | rB | 0x0 | 0x3 |
(sequence () (sequence ((DI prod) (DI mac) (DI result)) (set prod (mul DI (zext DI rA) (zext DI rB))) (set mac (join DI SI mac-machi mac-maclo)) (set result (add DI prod mac)) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)) (set sys-sr-cy (addc-cflag DI prod mac 0))) (if (andif sys-sr-cy sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-uimm16 |
0x2d | rD | rA | uimm16 |
(set rD (c-call UWI "@cpu@_mfspr" (or UDI rA (zext UWI uimm16))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 | 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-20-4 | f-op-16-1 | f-uimm16 |
0x6 | rD | 0x0 | 0x0 | uimm16 |
(set rD (sll UWI (zext UWI uimm16) 16))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x31 | 0x0 | rA | rB | 0x0 | 0x2 |
(sequence () (sequence ((DI prod) (DI mac) (DI result)) (set prod (mul DI (ext DI rA) (ext DI rB))) (set mac (join DI SI mac-machi mac-maclo)) (set result (sub DI mac prod)) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)) (set sys-sr-ov (subc-oflag DI mac result 0))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x31 | 0x0 | rA | rB | 0x0 | 0x4 |
(sequence () (sequence ((DI prod) (DI mac) (DI result)) (set prod (mul DI (zext DI rA) (zext DI rB))) (set mac (join DI SI mac-machi mac-maclo)) (set result (sub DI mac prod)) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)) (set sys-sr-cy (subc-cflag DI mac result 0))) (if (andif sys-sr-cy sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-resv-20-21 |
0x8 | 0x10 | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r2 | f-r3 | f-uimm16-split |
0x30 | rA | rB | uimm16-split |
(c-call VOID "@cpu@_mtspr" (or UDI rA (zext WI uimm16-split)) rB)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x30 | 0x6 |
(sequence () (sequence () (set sys-sr-ov (mul-o2flag WI rA rB)) (set rD (mul WI rA rB))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-resv-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | 0x0 | rA | rB | 0x30 | 0x7 |
(sequence ((DI result)) (set result (mul DI (ext DI rA) (ext DI rB))) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-resv-25-5 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | 0x0 | rA | rB | 0x30 | 0xd |
(sequence ((DI result)) (set result (mul DI (zext DI rA) (zext DI rB))) (set mac-machi (subword SI result 0)) (set mac-maclo (subword SI result 1)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x2c | rD | rA | simm16 |
(sequence () (sequence () (set sys-sr-ov (mul-o2flag WI rA (ext WI simm16))) (set rD (mul WI rA (ext WI simm16)))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x30 | 0xb |
(sequence () (sequence () (set sys-sr-cy (mul-o1flag UWI rA rB)) (set rD (mul UWI rA rB))) (if (andif sys-sr-cy sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 | 23 22 21 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-2 | f-resv-23-8 | f-uimm16 |
0x5 | 0x1 | 0x0 | uimm16 |
(nop)
31 30 29 28 27 26 | 25 24 | 23 22 21 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-2 | f-resv-23-8 | f-uimm16 |
0x5 | 0x1 | 0x0 | uimm16 |
(c-call VOID "@cpu@_nop" (zext UWI uimm16))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x4 |
(set rD (or UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-uimm16 |
0x2a | rD | rA | uimm16 |
(set rD (or UDI rA (zext UWI uimm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-resv-20-21 |
0x8 | 0x14 | 0x0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-26 |
0x9 | 0x0 |
(c-call VOID "@cpu@_rfe")
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-2 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x3 | 0x0 | 0x8 |
(set rD (ror UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 | 7 6 | 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-8 | f-op-7-2 | f-uimm6 |
0x2e | rD | rA | 0x0 | 0x3 | uimm6 |
(set rD (ror UDI rA uimm6))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r2 | f-r3 | f-simm16-split |
0x36 | rA | rB | simm16-split |
(sequence ((SI addr)) (set addr (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16-split) 1)) (set (mem UQI addr) (trunc UQI rB)) (if (eq (and SI addr 268435452) atomic-address) (set atomic-reserve 0)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x0 | rA | rB | 0x0 |
(set sys-sr-f (eq rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x0 | rA | simm16 |
(set sys-sr-f (eq rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0xb | rA | rB | 0x0 |
(set sys-sr-f (ge rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0xb | rA | simm16 |
(set sys-sr-f (ge rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x3 | rA | rB | 0x0 |
(set sys-sr-f (geu rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x3 | rA | simm16 |
(set sys-sr-f (geu rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0xa | rA | rB | 0x0 |
(set sys-sr-f (gt rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0xa | rA | simm16 |
(set sys-sr-f (gt rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x2 | rA | rB | 0x0 |
(set sys-sr-f (gtu rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x2 | rA | simm16 |
(set sys-sr-f (gtu rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0xd | rA | rB | 0x0 |
(set sys-sr-f (le rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0xd | rA | simm16 |
(set sys-sr-f (le rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x5 | rA | rB | 0x0 |
(set sys-sr-f (leu rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x5 | rA | simm16 |
(set sys-sr-f (leu rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0xc | rA | rB | 0x0 |
(set sys-sr-f (lt rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0xc | rA | simm16 |
(set sys-sr-f (lt rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x4 | rA | rB | 0x0 |
(set sys-sr-f (ltu rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x4 | rA | simm16 |
(set sys-sr-f (ltu rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-r3 | f-resv-10-11 |
0x39 | 0x1 | rA | rB | 0x0 |
(set sys-sr-f (ne rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-r2 | f-simm16 |
0x2f | 0x1 | rA | simm16 |
(set sys-sr-f (ne rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r2 | f-r3 | f-simm16-split |
0x37 | rA | rB | simm16-split |
(sequence ((SI addr)) (set addr (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16-split) 2)) (set (mem UHI addr) (trunc UHI rB)) (if (eq (and SI addr 268435452) atomic-address) (set atomic-reserve 0)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-2 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x0 | 0x0 | 0x8 |
(set rD (sll UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 | 7 6 | 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-8 | f-op-7-2 | f-uimm6 |
0x2e | rD | rA | 0x0 | 0x0 | uimm6 |
(set rD (sll UDI rA uimm6))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-2 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x2 | 0x0 | 0x8 |
(set rD (sra UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 | 7 6 | 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-8 | f-op-7-2 | f-uimm6 |
0x2e | rD | rA | 0x0 | 0x2 | uimm6 |
(set rD (sra UDI rA uimm6))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 | 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-2 | f-resv-5-2 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x1 | 0x0 | 0x8 |
(set rD (srl UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 | 7 6 | 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-resv-15-8 | f-op-7-2 | f-uimm6 |
0x2e | rD | rA | 0x0 | 0x1 | uimm6 |
(set rD (srl UDI rA uimm6))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x2 |
(sequence () (sequence () (set sys-sr-cy (subc-cflag WI rA rB 0)) (set sys-sr-ov (subc-oflag WI rA rB 0)) (set rD (sub WI rA rB))) (if (andif sys-sr-ov sys-sr-ove) (c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-RANGE))))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r2 | f-r3 | f-simm16-split |
0x35 | rA | rB | simm16-split |
(sequence ((SI addr)) (set addr (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16-split) 4)) (set (mem USI addr) (trunc USI rB)) (if (eq (and SI addr 268435452) atomic-address) (set atomic-reserve 0)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r2 | f-r3 | f-simm16 |
0x33 | rA | rB | simm16 |
(sequence ((SI addr) (BI flag)) (set addr (c-call AI "@cpu@_make_load_store_addr" rA (ext SI simm16-split) 4)) (set sys-sr-f (and BI atomic-reserve (eq addr atomic-address))) (if sys-sr-f (set (mem USI addr) (trunc USI rB))) (set atomic-reserve 0))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-resv-20-5 | f-uimm16 |
0x8 | 0x0 | 0x0 | uimm16 |
(c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-SYSCALL))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-op-25-5 | f-resv-20-5 | f-uimm16 |
0x8 | 0x8 | 0x0 | uimm16 |
(c-call VOID "@cpu@_exception" pc (enum INT EXCEPT-TRAP))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 7 6 5 4 | 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-7 | f-op-3-4 |
0x38 | rD | rA | rB | 0x0 | 0x5 |
(set rD (xor UDI rA rB))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-simm16 |
0x2b | rD | rA | simm16 |
(set rD (xor UDI rA (ext WI simm16)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x10 |
(set rDDF (add DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x10 |
(set rDD32F (add DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x0 |
(set rDSF (add SF rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-5 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0xe0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-5 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0xe0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-resv-25-5 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0xd0 |
(nop)
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x13 |
(set rDDF (div DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x13 |
(set rDD32F (div DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x3 |
(set rDSF (div SF rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rD | rADF | 0x0 | 0x0 | 0x15 |
(set rD (fix WI (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) rADF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 | 14 13 12 11 10 9 | 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r3 | f-rdd32 | f-rad32 | f-resv-8-1 | f-op-7-8 |
0x32 | 0x0 | rDDI | rAD32F | 0x0 | 0x15 |
(set rDDI (fix DI (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) rAD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rD | rASF | 0x0 | 0x0 | 0x5 |
(set rD (ext WI (fix SI (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) rASF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rA | 0x0 | 0x0 | 0x14 |
(set rDDF (float DF (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) rA))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 15 | 14 13 12 11 10 9 | 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r3 | f-rdd32 | f-rad32 | f-resv-8-1 | f-op-7-8 |
0x32 | 0x0 | rDD32F | rADI | 0x0 | 0x14 |
(set rDD32F (float DF (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) rADI))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rA | 0x0 | 0x0 | 0x4 |
(set rDSF (float SF (case INT sys-fpcsr-rm ((0) 1) ((1) 3) ((2) 4) (else 5)) (trunc SI rA)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x17 |
(set rDDF (add DF (mul DF rADF rBDF) rDDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x17 |
(set rDD32F (add DF (mul DF rAD32F rBD32F) rDD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x7 |
(set rDSF (add SF (mul SF rASF rBSF) rDSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x12 |
(set rDDF (mul DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x12 |
(set rDD32F (mul DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x2 |
(set rDSF (mul SF rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x16 |
(set rDDF (rem DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x16 |
(set rDD32F (rem DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x6 |
(set rDSF (rem SF rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x18 |
(set sys-sr-f (eq rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x18 |
(set sys-sr-f (eq rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x8 |
(set sys-sr-f (eq rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x1b |
(set sys-sr-f (ge rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x1b |
(set sys-sr-f (ge rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0xb |
(set sys-sr-f (ge rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x1a |
(set sys-sr-f (gt rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x1a |
(set sys-sr-f (gt rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0xa |
(set sys-sr-f (gt rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x1d |
(set sys-sr-f (le rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x1d |
(set sys-sr-f (le rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0xd |
(set sys-sr-f (le rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x1c |
(set sys-sr-f (lt rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x1c |
(set sys-sr-f (lt rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0xc |
(set sys-sr-f (lt rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x19 |
(set sys-sr-f (ne rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x19 |
(set sys-sr-f (ne rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x9 |
(set sys-sr-f (ne rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x38 |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (eq rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x38 |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (eq rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x28 |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (eq rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x3b |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (ge rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x3b |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (ge rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x2b |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (ge rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x3a |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (gt rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x3a |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (gt rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x2a |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (gt rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x3d |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (le rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x3d |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (le rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x2d |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (le rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x3c |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (lt rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x3c |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (lt rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x2c |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (lt rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x3e |
(set sys-sr-f (unordered DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x3e |
(set sys-sr-f (unordered DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x2e |
(set sys-sr-f (unordered SF rASF rBSF))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rADF | rBDF | 0x0 | 0x39 |
(set sys-sr-f (or BI (unordered DF rADF rBDF) (ne rADF rBDF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-resv-10-1 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | 0x0 | 0x0 | rAD32F | rBD32F | 0x39 |
(set sys-sr-f (or BI (unordered DF rAD32F rBD32F) (ne rAD32F rBD32F)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | 0x0 | rASF | rBSF | 0x0 | 0x29 |
(set sys-sr-f (or BI (unordered SF rASF rBSF) (ne rASF rBSF)))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDDF | rADF | rBDF | 0x0 | 0x11 |
(set rDDF (sub DF rADF rBDF))
31 30 29 28 27 26 | 25 24 23 22 21 20 | 19 18 17 16 15 14 | 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-rdd32 | f-rad32 | f-rbd32 | f-op-7-8 |
0x32 | rDD32F | rAD32F | rBD32F | 0x11 |
(set rDD32F (sub DF rAD32F rBD32F))
31 30 29 28 27 26 | 25 24 23 22 21 | 20 19 18 17 16 | 15 14 13 12 11 | 10 9 8 | 7 6 5 4 3 2 1 0 |
f-opcode | f-r1 | f-r2 | f-r3 | f-resv-10-3 | f-op-7-8 |
0x32 | rDSF | rASF | rBSF | 0x0 | 0x1 |
(set rDSF (sub SF rASF rBSF))
This documentation was machine generated from the cgen cpu description
files for this architecture.
https://sourceware.org/cgen/