From 67a324470a3774540b7fef7e02bdebf160e7a913 Mon Sep 17 00:00:00 2001 From: Yufeng Zhang Date: Thu, 6 Dec 2012 15:45:38 +0000 Subject: gas/ 2012-12-06 Yufeng Zhang * config/tc-aarch64.c (exp_has_bignum_p): Remove. (my_get_expression): Not get rid of bignums. (s_ltorg): Increase the range of 'align'. (programmer_friendly_fixup): Allow bignum expression. gas/testsuite/ 2012-12-06 Yufeng Zhang * gas/aarch64/illegal.s: Add test for unaccepted LDR literal. * gas/aarch64/illegal.l: Update. * gas/aarch64/programmer-friendly.s: Add tests for LDR literal with the auto-generation of literal in pool. * gas/aarch64/programmer-friendly.d: Update. --- gas/testsuite/ChangeLog | 8 ++++++++ gas/testsuite/gas/aarch64/illegal.l | 1 + gas/testsuite/gas/aarch64/illegal.s | 5 +++++ gas/testsuite/gas/aarch64/programmer-friendly.d | 18 ++++++++++++++++-- gas/testsuite/gas/aarch64/programmer-friendly.s | 11 +++++++++++ 5 files changed, 41 insertions(+), 2 deletions(-) (limited to 'gas/testsuite') diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index d95504e..8b77ca0 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2012-12-06 Yufeng Zhang + + * gas/aarch64/illegal.s: Add test for unaccepted LDR literal. + * gas/aarch64/illegal.l: Update. + * gas/aarch64/programmer-friendly.s: Add tests for LDR literal with + the auto-generation of literal in pool. + * gas/aarch64/programmer-friendly.d: Update. + 2012-11-28 Julian Brown * gas/arm/bl-local-2.s: New test. diff --git a/gas/testsuite/gas/aarch64/illegal.l b/gas/testsuite/gas/aarch64/illegal.l index 6c741cf..6905866 100644 --- a/gas/testsuite/gas/aarch64/illegal.l +++ b/gas/testsuite/gas/aarch64/illegal.l @@ -549,3 +549,4 @@ [^:]*:538: Error: .*`mov x0,##5' [^:]*:540: Error: .*`msr daifset,x0' [^:]*:541: Error: .*`msr daifclr,x0' +[^:]*:546: Error: .* diff --git a/gas/testsuite/gas/aarch64/illegal.s b/gas/testsuite/gas/aarch64/illegal.s index 9a12463..c13dec4 100644 --- a/gas/testsuite/gas/aarch64/illegal.s +++ b/gas/testsuite/gas/aarch64/illegal.s @@ -539,3 +539,8 @@ msr daifset, x0 msr daifclr, x0 + + // No 16-byte relocation + ldr q0, =one_label + +one_label: diff --git a/gas/testsuite/gas/aarch64/programmer-friendly.d b/gas/testsuite/gas/aarch64/programmer-friendly.d index 90cea5e..9e9f2d5 100644 --- a/gas/testsuite/gas/aarch64/programmer-friendly.d +++ b/gas/testsuite/gas/aarch64/programmer-friendly.d @@ -6,7 +6,7 @@ Disassembly of section \.text: 0000000000000000 <.*>: 0: 4f03e420 movi v0\.16b, #0x61 - 4: 98000181 ldrsw x1, 34 <\.text\+0x34> + 4: 98000241 ldrsw x1, 4c <\.text\+0x4c> 8: 98000007 ldrsw x7, 0 <\.text> 8: R_AARCH64_LD_PREL_LO19 \.data\+0x4 c: fa42a02a ccmp x1, x2, #0xa, ge @@ -19,4 +19,18 @@ Disassembly of section \.text: 28: ab2083e0 adds x0, sp, w0, sxtb 2c: ab20a7e0 adds x0, sp, w0, sxth #1 30: ab20cbe0 adds x0, sp, w0, sxtw #2 - 34: deadbeef \.word 0xdeadbeef + 34: 9c000160 ldr q0, 60 <\.text\+0x60> + 38: 5c0000c0 ldr d0, 50 <\.text\+0x50> + 3c: 580000a0 ldr x0, 50 <\.text\+0x50> + 40: 1c000060 ldr s0, 4c <\.text\+0x4c> + 44: 18000040 ldr w0, 4c <\.text\+0x4c> + 48: 58000080 ldr x0, 58 <\.text\+0x58> + 4c: deadbeef \.word 0xdeadbeef + 50: .* \.word 0x.* + 54: .* \.word 0x.* + ... + 58: R_AARCH64_ABS64 \.data + 60: .* \.word 0x.* + 64: .* \.word 0x.* + 68: .* \.word 0x.* + 6c: .* \.word 0x.* diff --git a/gas/testsuite/gas/aarch64/programmer-friendly.s b/gas/testsuite/gas/aarch64/programmer-friendly.s index f39ca5d..9dd93fe 100644 --- a/gas/testsuite/gas/aarch64/programmer-friendly.s +++ b/gas/testsuite/gas/aarch64/programmer-friendly.s @@ -49,6 +49,17 @@ u16_lable: adds x0, sp, x0, uxtb #4 adds x0, sp, x0, uxth #4 adds x0, sp, x0, uxtw #4 + adds x0, sp, x0, sxtb #0 adds x0, sp, x0, sxth #1 adds x0, sp, x0, sxtw #2 + + // More tests on + // LDR Wt, label | =value + // Find more comment above. + ldr q0, =0xdeadcafebeefbabe0123456789abcedf + ldr d0, =0xfebeefbabe012345 + ldr x0, =0xfebeefbabe012345 + ldr s0, =0xdeadbeef + ldr w0, =0xdeadbeef + ldr x0, =u16_lable -- cgit v1.1