-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[binutils, ARM, 7/16] New BFX and BFLX instruction for Armv8.1-M Main…
…line This patch is part of a series of patches to add support for Armv8.1-M Mainline instructions to binutils. This patch adds the BFX and BFLX instructions. ChangeLog entries are as follows : *** gas/ChangeLog *** 2019-04-15 Sudakshina Das <[email protected]> * config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx. (do_t_v8_1_branch): New switch cases for bfx and bflx. (insns): New instruction for bfx and bflx. * testsuite/gas/arm/armv8_1-m-bf-exchange.d: New. * testsuite/gas/arm/armv8_1-m-bf-exchange.s: New. * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New * testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New *** opcodes/ChangeLog *** 2019-04-15 Sudakshina Das <[email protected]> * arm-dis.c (print_insn_thumb32): Add '%<bitfield>S' to print an Arm register with r13 and r15 unpredictable. (thumb32_opcodes): New instructions for bfx and bflx.
- Loading branch information
1 parent
4389b29
commit f1c7f42
Showing
9 changed files
with
84 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,14 @@ | ||
2019-04-15 Sudakshina Das <[email protected]> | ||
|
||
* config/tc-arm.c (T16_32_TAB): New entries for bfx and bflx. | ||
(do_t_v8_1_branch): New switch cases for bfx and bflx. | ||
(insns): New instruction for bfx and bflx. | ||
* testsuite/gas/arm/armv8_1-m-bf-exchange.d: New. | ||
* testsuite/gas/arm/armv8_1-m-bf-exchange.s: New. | ||
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.s: New | ||
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.l: New | ||
* testsuite/gas/arm/armv8_1-m-bf-exchange-bad.d: New | ||
|
||
2019-04-15 Sudakshina Das <[email protected]> | ||
Andre Vieira <[email protected]> | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
#name: Invalid Armv8.1-M Mainline BF-exchange instructions | ||
#source: armv8_1-m-bf-exchange-bad.s | ||
#as: -march=armv8.1-m.main | ||
#error_output: armv8_1-m-bf-exchange-bad.l |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
.*: Assembler messages: | ||
.*:6: Error: branch out of range or not a multiple of 2 | ||
.*:7: Error: branch out of range or not a multiple of 2 | ||
.*:8: Error: branch out of range or not a multiple of 2 | ||
.*:9: Error: branch out of range or not a multiple of 2 | ||
.*:11: Error: r15 not allowed here -- `bfx 2,PC' | ||
.*:12: Error: r13 not allowed here -- `bflx 2,SP' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
.syntax unified | ||
.text | ||
.thumb | ||
foo: | ||
# OP0 : Unsigned, 5-bit, even | ||
bfx 0, r3 | ||
bfx -2, r3 | ||
bflx 3, r3 | ||
bflx 32, r3 | ||
# OP1 : no SP or PC | ||
bfx 2, PC | ||
bflx 2, SP |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#name: Valid Armv8.1-M Mainline BF-exchange instructions | ||
#source: armv8_1-m-bf-exchange.s | ||
#as: -march=armv8.1-m.main | ||
#objdump: -dr --prefix-addresses --show-raw-insn | ||
|
||
.*: +file format .*arm.* | ||
|
||
Disassembly of section .text: | ||
0[0-9a-f]+ <[^>]+> f265 e001 bfx 8, r5 | ||
0[0-9a-f]+ <[^>]+> 4609 mov r1, r1 | ||
0[0-9a-f]+ <[^>]+> f173 e001 bflx 4, r3 | ||
0[0-9a-f]+ <[^>]+> 460a mov r2, r1 | ||
0[0-9a-f]+ <[^>]+> 4613 mov r3, r2 | ||
0[0-9a-f]+ <[^>]+> 4614 mov r4, r2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
.syntax unified | ||
.text | ||
.thumb | ||
foo: | ||
bfx .LB1, r5 | ||
mov r1, r1 | ||
bflx .LB2, r3 | ||
mov r2, r1 | ||
.LB1: | ||
mov r3, r2 | ||
.LB2: | ||
mov r4, r2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,9 @@ | ||
2019-04-15 Sudakshina Das <[email protected]> | ||
|
||
* arm-dis.c (print_insn_thumb32): Add '%<bitfield>S' to print an | ||
Arm register with r13 and r15 unpredictable. | ||
(thumb32_opcodes): New instructions for bfx and bflx. | ||
|
||
2019-04-15 Sudakshina Das <[email protected]> | ||
|
||
* arm-dis.c (thumb32_opcodes): New instructions for bf. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters