gas/
* config/tc-aarch64.c (md_assemble): Defer the feature checking until do_encode () succeeds. gas/testsuite/ * gas/aarch64/rm-simd-ext.d: New file. * gas/aarch64/rm-simd-ext.l: Likewise. * gas/aarch64/rm-simd-ext.s: Likewise.
This commit is contained in:
parent
f45c82da38
commit
3f06bfce70
@ -1,3 +1,8 @@
|
||||
2013-12-18 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* config/tc-aarch64.c (md_assemble): Defer the feature checking until
|
||||
do_encode () succeeds.
|
||||
|
||||
2013-12-18 Nick Clifton <nickc@redhat.com>
|
||||
|
||||
* config/tc-rx.c (rx_include): Rename 'eof' to 'last_char' in
|
||||
|
@ -5531,14 +5531,6 @@ md_assemble (char *str)
|
||||
dump_opcode_operands (opcode);
|
||||
#endif /* DEBUG_AARCH64 */
|
||||
|
||||
/* Check that this instruction is supported for this CPU. */
|
||||
if (!opcode->avariant
|
||||
|| !AARCH64_CPU_HAS_FEATURE (cpu_variant, *opcode->avariant))
|
||||
{
|
||||
as_bad (_("selected processor does not support `%s'"), str);
|
||||
return;
|
||||
}
|
||||
|
||||
mapping_state (MAP_INSN);
|
||||
|
||||
inst_base = &inst.base;
|
||||
@ -5563,6 +5555,14 @@ md_assemble (char *str)
|
||||
&& programmer_friendly_fixup (&inst)
|
||||
&& do_encode (inst_base->opcode, &inst.base, &inst_base->value))
|
||||
{
|
||||
/* Check that this instruction is supported for this CPU. */
|
||||
if (!opcode->avariant
|
||||
|| !AARCH64_CPU_HAS_FEATURE (cpu_variant, *opcode->avariant))
|
||||
{
|
||||
as_bad (_("selected processor does not support `%s'"), str);
|
||||
return;
|
||||
}
|
||||
|
||||
if (inst.reloc.type == BFD_RELOC_UNUSED
|
||||
|| !inst.reloc.need_libopcodes_p)
|
||||
output_inst (NULL);
|
||||
|
@ -1,3 +1,9 @@
|
||||
2013-12-18 Yufeng Zhang <yufeng.zhang@arm.com>
|
||||
|
||||
* gas/aarch64/rm-simd-ext.d: New file.
|
||||
* gas/aarch64/rm-simd-ext.l: Likewise.
|
||||
* gas/aarch64/rm-simd-ext.s: Likewise.
|
||||
|
||||
2013-12-17 Kuan-Lin Chen <kuanlinchentw@gmail.com>
|
||||
|
||||
* gas/nds32/nds32.exp: Add system and user special register tests.
|
||||
|
4
gas/testsuite/gas/aarch64/rm-simd-ext.d
Normal file
4
gas/testsuite/gas/aarch64/rm-simd-ext.d
Normal file
@ -0,0 +1,4 @@
|
||||
#name: SIMD Extension Removal
|
||||
#source: rm-simd-ext.s
|
||||
#error-output: rm-simd-ext.l
|
||||
#as: -mcpu=cortex-a57+nosimd
|
2
gas/testsuite/gas/aarch64/rm-simd-ext.l
Normal file
2
gas/testsuite/gas/aarch64/rm-simd-ext.l
Normal file
@ -0,0 +1,2 @@
|
||||
[^:]*: Assembler messages:
|
||||
[^:]*:27: Error: selected processor does not support `orr v0.16b,v1.16b,v2.16b'
|
28
gas/testsuite/gas/aarch64/rm-simd-ext.s
Normal file
28
gas/testsuite/gas/aarch64/rm-simd-ext.s
Normal file
@ -0,0 +1,28 @@
|
||||
/* rm-simd-ext.s Test file for AArch64 extension removal in -mcpu option.
|
||||
|
||||
Copyright 2013 Free Software Foundation, Inc.
|
||||
Contributed by ARM Ltd.
|
||||
|
||||
This file is part of GAS.
|
||||
|
||||
GAS is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 3 of the license, or
|
||||
(at your option) any later version.
|
||||
|
||||
GAS is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; see the file COPYING3. If not,
|
||||
see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
.text
|
||||
mov w3, 200
|
||||
mul w3, w2, w3
|
||||
add w1, w1, w3
|
||||
add w2, w0, w2, lsl 2
|
||||
orr v0.16b, v1.16b, v2.16b
|
||||
orr w1, w1, w3
|
Loading…
Reference in New Issue
Block a user