diff options
Diffstat (limited to 'gas/testsuite/gas/mep/relocs-refs.s')
-rw-r--r-- | gas/testsuite/gas/mep/relocs-refs.s | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/gas/testsuite/gas/mep/relocs-refs.s b/gas/testsuite/gas/mep/relocs-refs.s new file mode 100644 index 0000000000..43dc77ee64 --- /dev/null +++ b/gas/testsuite/gas/mep/relocs-refs.s @@ -0,0 +1,55 @@ + + .global main + .global foo + .global bar +main: + nop + nop + lb $5, foo($3) + bsr foo + repeat $5, foo + + nop + nop + lb $5, (-foo & 0xffff)($3) + bsr -foo + repeat $5, -foo + + nop + nop + lb $5, (foo + bar)($3) + bsr (foo + bar) + repeat $5, (foo + bar) + + jmp (foo << 3) + jmp (foo >> 3) + jmp (foo - bar) & 0x7fffff + jmp (foo - main) & 0x7fffff + jmp (.text - foo) & 0x7fffff + jmp (.data - foo) & 0x7fffff + jmp (foo - %sizeof(.text)) + jmp (foo * 7) + jmp (foo / 7) + jmp (foo % 7) + jmp (foo ^ bar) + jmp (foo | bar) + jmp (foo & bar) + jmp (foo == bar) << 5 + jmp (foo < bar) << 5 + jmp (foo <= bar) << 5 + jmp (foo > bar) << 5 + jmp (foo >= bar) << 5 + # jmp (foo != bar) # FIXME this appears to not work atm. + jmp (foo && bar) << 5 + jmp (foo || bar) << 5 + + nop + nop + nop + nop + + jmp %sizeof(.data) >> (((main ^ (bar + 0xf)) - ((foo | .text) << 2)) / 3) + + nop + nop + nop |