-
Notifications
You must be signed in to change notification settings - Fork 12.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ARM: provide VFP aliases for pre-V6 mnemonics
In order to provide compatibility with the GNU assembler, provide aliases for pre-UAL mnemonics for floating point operations. llvm-svn: 198172
- llvmorg-20-init
- llvmorg-19.1.6
- llvmorg-19.1.5
- llvmorg-19.1.4
- llvmorg-19.1.3
- llvmorg-19.1.2
- llvmorg-19.1.1
- llvmorg-19.1.0
- llvmorg-19.1.0-rc4
- llvmorg-19.1.0-rc3
- llvmorg-19.1.0-rc2
- llvmorg-19.1.0-rc1
- llvmorg-19-init
- llvmorg-18.1.8
- llvmorg-18.1.7
- llvmorg-18.1.6
- llvmorg-18.1.5
- llvmorg-18.1.4
- llvmorg-18.1.3
- llvmorg-18.1.2
- llvmorg-18.1.1
- llvmorg-18.1.0
- llvmorg-18.1.0-rc4
- llvmorg-18.1.0-rc3
- llvmorg-18.1.0-rc2
- llvmorg-18.1.0-rc1
- llvmorg-18-init
- llvmorg-17.0.6
- llvmorg-17.0.5
- llvmorg-17.0.4
- llvmorg-17.0.3
- llvmorg-17.0.2
- llvmorg-17.0.1
- llvmorg-17.0.0
- llvmorg-17.0.0-rc4
- llvmorg-17.0.0-rc3
- llvmorg-17.0.0-rc2
- llvmorg-17.0.0-rc1
- llvmorg-17-init
- llvmorg-16.0.6
- llvmorg-16.0.5
- llvmorg-16.0.4
- llvmorg-16.0.3
- llvmorg-16.0.2
- llvmorg-16.0.1
- llvmorg-16.0.0
- llvmorg-16.0.0-rc4
- llvmorg-16.0.0-rc3
- llvmorg-16.0.0-rc2
- llvmorg-16.0.0-rc1
- llvmorg-16-init
- llvmorg-15.0.7
- llvmorg-15.0.6
- llvmorg-15.0.5
- llvmorg-15.0.4
- llvmorg-15.0.3
- llvmorg-15.0.2
- llvmorg-15.0.1
- llvmorg-15.0.0
- llvmorg-15.0.0-rc3
- llvmorg-15.0.0-rc2
- llvmorg-15.0.0-rc1
- llvmorg-15-init
- llvmorg-14.0.6
- llvmorg-14.0.5
- llvmorg-14.0.4
- llvmorg-14.0.3
- llvmorg-14.0.2
- llvmorg-14.0.1
- llvmorg-14.0.0
- llvmorg-14.0.0-rc4
- llvmorg-14.0.0-rc3
- llvmorg-14.0.0-rc2
- llvmorg-14.0.0-rc1
- llvmorg-14-init
- llvmorg-13.0.1
- llvmorg-13.0.1-rc3
- llvmorg-13.0.1-rc2
- llvmorg-13.0.1-rc1
- llvmorg-13.0.0
- llvmorg-13.0.0-rc4
- llvmorg-13.0.0-rc3
- llvmorg-13.0.0-rc2
- llvmorg-13.0.0-rc1
- llvmorg-13-init
- llvmorg-12.0.1
- llvmorg-12.0.1-rc4
- llvmorg-12.0.1-rc3
- llvmorg-12.0.1-rc2
- llvmorg-12.0.1-rc1
- llvmorg-12.0.0
- llvmorg-12.0.0-rc5
- llvmorg-12.0.0-rc4
- llvmorg-12.0.0-rc3
- llvmorg-12.0.0-rc2
- llvmorg-12.0.0-rc1
- llvmorg-12-init
- llvmorg-11.1.0
- llvmorg-11.1.0-rc3
- llvmorg-11.1.0-rc2
- llvmorg-11.1.0-rc1
- llvmorg-11.0.1
- llvmorg-11.0.1-rc2
- llvmorg-11.0.1-rc1
- llvmorg-11.0.0
- llvmorg-11.0.0-rc6
- llvmorg-11.0.0-rc5
- llvmorg-11.0.0-rc4
- llvmorg-11.0.0-rc3
- llvmorg-11.0.0-rc2
- llvmorg-11.0.0-rc1
- llvmorg-11-init
- llvmorg-10.0.1
- llvmorg-10.0.1-rc4
- llvmorg-10.0.1-rc3
- llvmorg-10.0.1-rc2
- llvmorg-10.0.1-rc1
- llvmorg-10.0.0
- llvmorg-10.0.0-rc6
- llvmorg-10.0.0-rc5
- llvmorg-10.0.0-rc4
- llvmorg-10.0.0-rc3
- llvmorg-10.0.0-rc2
- llvmorg-10.0.0-rc1
- llvmorg-10-init
- llvmorg-9.0.1
- llvmorg-9.0.1-rc3
- llvmorg-9.0.1-rc2
- llvmorg-9.0.1-rc1
- llvmorg-9.0.0
- llvmorg-9.0.0-rc6
- llvmorg-9.0.0-rc5
- llvmorg-9.0.0-rc4
- llvmorg-9.0.0-rc3
- llvmorg-9.0.0-rc2
- llvmorg-9.0.0-rc1
- llvmorg-8.0.1
- llvmorg-8.0.1-rc4
- llvmorg-8.0.1-rc3
- llvmorg-8.0.1-rc2
- llvmorg-8.0.1-rc1
- llvmorg-8.0.0
- llvmorg-8.0.0-rc5
- llvmorg-8.0.0-rc4
- llvmorg-8.0.0-rc3
- llvmorg-8.0.0-rc2
- llvmorg-8.0.0-rc1
- llvmorg-7.1.0
- llvmorg-7.1.0-rc1
- llvmorg-7.0.1
- llvmorg-7.0.1-rc3
- llvmorg-7.0.1-rc2
- llvmorg-7.0.1-rc1
- llvmorg-7.0.0
- llvmorg-7.0.0-rc3
- llvmorg-7.0.0-rc2
- llvmorg-7.0.0-rc1
- llvmorg-6.0.1
- llvmorg-6.0.1-rc3
- llvmorg-6.0.1-rc2
- llvmorg-6.0.1-rc1
- llvmorg-6.0.0
- llvmorg-6.0.0-rc3
- llvmorg-6.0.0-rc2
- llvmorg-6.0.0-rc1
- llvmorg-5.0.2
- llvmorg-5.0.2-rc2
- llvmorg-5.0.2-rc1
- llvmorg-5.0.1
- llvmorg-5.0.1-rc3
- llvmorg-5.0.1-rc2
- llvmorg-5.0.1-rc1
- llvmorg-5.0.0
- llvmorg-5.0.0-rc5
- llvmorg-5.0.0-rc4
- llvmorg-5.0.0-rc3
- llvmorg-5.0.0-rc2
- llvmorg-5.0.0-rc1
- llvmorg-4.0.1
- llvmorg-4.0.1-rc3
- llvmorg-4.0.1-rc2
- llvmorg-4.0.1-rc1
- llvmorg-4.0.0
- llvmorg-4.0.0-rc4
- llvmorg-4.0.0-rc3
- llvmorg-4.0.0-rc2
- llvmorg-4.0.0-rc1
- llvmorg-3.9.1
- llvmorg-3.9.1-rc3
- llvmorg-3.9.1-rc2
- llvmorg-3.9.1-rc1
- llvmorg-3.9.0
- llvmorg-3.9.0-rc3
- llvmorg-3.9.0-rc2
- llvmorg-3.9.0-rc1
- llvmorg-3.8.1
- llvmorg-3.8.1-rc1
- llvmorg-3.8.0
- llvmorg-3.8.0-rc3
- llvmorg-3.8.0-rc2
- llvmorg-3.8.0-rc1
- llvmorg-3.7.1
- llvmorg-3.7.1-rc2
- llvmorg-3.7.1-rc1
- llvmorg-3.7.0
- llvmorg-3.7.0-rc4
- llvmorg-3.7.0-rc3
- llvmorg-3.7.0-rc2
- llvmorg-3.7.0-rc1
- llvmorg-3.6.2
- llvmorg-3.6.2-rc1
- llvmorg-3.6.1
- llvmorg-3.6.1-rc1
- llvmorg-3.6.0
- llvmorg-3.6.0-rc4
- llvmorg-3.6.0-rc3
- llvmorg-3.6.0-rc2
- llvmorg-3.6.0-rc1
- llvmorg-3.5.2
- llvmorg-3.5.2-rc1
- llvmorg-3.5.1
- llvmorg-3.5.1-rc2
- llvmorg-3.5.1-rc1
- llvmorg-3.5.0
- llvmorg-3.5.0-rc4
- llvmorg-3.5.0-rc3
- llvmorg-3.5.0-rc2
- llvmorg-3.5.0-rc1
Showing
4 changed files
with
207 additions
and
1 deletion.
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
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,97 @@ | ||
@ RUN: not llvm-mc -triple armv7-eabi -filetype asm -o /dev/null %s 2>&1 \ | ||
@ RUN: | FileCheck %s | ||
|
||
.syntax unified | ||
.fpu vfp | ||
|
||
.type aliases,%function | ||
aliases: | ||
fstmfdd sp!, {s0} | ||
fstmead sp!, {s0} | ||
fstmdbd sp!, {s0} | ||
fstmiad sp!, {s0} | ||
fstmfds sp!, {d0} | ||
fstmeas sp!, {d0} | ||
fstmdbs sp!, {d0} | ||
fstmias sp!, {d0} | ||
|
||
fldmias sp!, {d0} | ||
fldmdbs sp!, {d0} | ||
fldmeas sp!, {d0} | ||
fldmfds sp!, {d0} | ||
fldmiad sp!, {s0} | ||
fldmdbd sp!, {s0} | ||
fldmead sp!, {s0} | ||
fldmfdd sp!, {s0} | ||
|
||
fstmeax sp!, {s0} | ||
fldmfdx sp!, {s0} | ||
|
||
fstmfdx sp!, {s0} | ||
fldmeax sp!, {s0} | ||
|
||
@ CHECK-LABEL: aliases | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmfdd sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmead sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmdbd sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmiad sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fstmfds sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fstmeas sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fstmdbs sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fstmias sp!, {d0} | ||
@ CHECK: ^ | ||
|
||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fldmias sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fldmdbs sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fldmeas sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon single precision register expected | ||
@ CHECK: fldmfds sp!, {d0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmiad sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmdbd sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmead sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmfdd sp!, {s0} | ||
@ CHECK: ^ | ||
|
||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmeax sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmfdx sp!, {s0} | ||
@ CHECK: ^ | ||
|
||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fstmfdx sp!, {s0} | ||
@ CHECK: ^ | ||
@ CHECK: error: VFP/Neon double precision register expected | ||
@ CHECK: fldmeax sp!, {s0} | ||
@ CHECK: ^ | ||
|
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,53 @@ | ||
@ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s | ||
|
||
.syntax unified | ||
.fpu vfp | ||
|
||
.type aliases,%function | ||
aliases: | ||
fstmfdd sp!, {d0} | ||
fstmead sp!, {d0} | ||
fstmdbd sp!, {d0} | ||
fstmiad sp!, {d0} | ||
fstmfds sp!, {s0} | ||
fstmeas sp!, {s0} | ||
fstmdbs sp!, {s0} | ||
fstmias sp!, {s0} | ||
|
||
fldmias sp!, {s0} | ||
fldmdbs sp!, {s0} | ||
fldmeas sp!, {s0} | ||
fldmfds sp!, {s0} | ||
fldmiad sp!, {d0} | ||
fldmdbd sp!, {d0} | ||
fldmead sp!, {d0} | ||
fldmfdd sp!, {d0} | ||
|
||
fstmeax sp!, {d0} | ||
fldmfdx sp!, {d0} | ||
|
||
fstmfdx sp!, {d0} | ||
fldmeax sp!, {d0} | ||
|
||
@ CHECK-LABEL: aliases | ||
@ CHECK: vpush {d0} | ||
@ CHECK: vstmia sp!, {d0} | ||
@ CHECK: vpush {d0} | ||
@ CHECK: vstmia sp!, {d0} | ||
@ CHECK: vpush {s0} | ||
@ CHECK: vstmia sp!, {s0} | ||
@ CHECK: vpush {s0} | ||
@ CHECK: vstmia sp!, {s0} | ||
@ CHECK: vpop {s0} | ||
@ CHECK: vldmdb sp!, {s0} | ||
@ CHECK: vldmdb sp!, {s0} | ||
@ CHECK: vpop {s0} | ||
@ CHECK: vpop {d0} | ||
@ CHECK: vldmdb sp!, {d0} | ||
@ CHECK: vldmdb sp!, {d0} | ||
@ CHECK: vpop {d0} | ||
@ CHECK: fstmiax sp!, {d0} | ||
@ CHECK: fldmiax sp!, {d0} | ||
@ CHECK: fstmdbx sp!, {d0} | ||
@ CHECK: fldmdbx sp!, {d0} | ||
|