blob: ef5bf6bc8228bca989a6c532cf8f31c641a11b03 [file] [log] [blame]
Douglas Leung200f0402016-02-25 20:05:47 -08001 /*
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 Frunze84603bf2016-10-21 19:54:43 -070011 FETCH(rINST, 1) # rINST <- aaaa (lo)
Douglas Leung200f0402016-02-25 20:05:47 -080012 FETCH(a1, 2) # a1 <- AAAA (hi)
Alexey Frunze84603bf2016-10-21 19:54:43 -070013 INSERT_HIGH_HALF(rINST, a1) # rINST <- AAAAaaaa
Douglas Leung020b18a2016-06-03 18:05:35 -070014 b MterpCommonTakenBranchNoFlags