Douglas Leung | 200f040 | 2016-02-25 20:05:47 -0800 | [diff] [blame] | 1 | /* |
| 2 | * Unconditional branch, 32-bit offset. |
| 3 | * |
| 4 | * The branch distance is a signed code-unit offset, which we need to |
| 5 | * double to get a byte offset. |
| 6 | * |
| 7 | * Unlike most opcodes, this one is allowed to branch to itself, so |
| 8 | * our "backward branch" test must be "<=0" instead of "<0". |
| 9 | */ |
| 10 | /* goto/32 +AAAAAAAA */ |
Alexey Frunze | 84603bf | 2016-10-21 19:54:43 -0700 | [diff] [blame] | 11 | FETCH(rINST, 1) # rINST <- aaaa (lo) |
Douglas Leung | 200f040 | 2016-02-25 20:05:47 -0800 | [diff] [blame] | 12 | FETCH(a1, 2) # a1 <- AAAA (hi) |
Alexey Frunze | 84603bf | 2016-10-21 19:54:43 -0700 | [diff] [blame] | 13 | INSERT_HIGH_HALF(rINST, a1) # rINST <- AAAAaaaa |
Douglas Leung | 020b18a | 2016-06-03 18:05:35 -0700 | [diff] [blame] | 14 | b MterpCommonTakenBranchNoFlags |