summaryrefslogtreecommitdiff
path: root/recipes/binutils/binutils-2.18/parse-neon-vmov.diff
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/binutils/binutils-2.18/parse-neon-vmov.diff')
-rw-r--r--recipes/binutils/binutils-2.18/parse-neon-vmov.diff41
1 files changed, 41 insertions, 0 deletions
diff --git a/recipes/binutils/binutils-2.18/parse-neon-vmov.diff b/recipes/binutils/binutils-2.18/parse-neon-vmov.diff
new file mode 100644
index 0000000000..e14b2a70c4
--- /dev/null
+++ b/recipes/binutils/binutils-2.18/parse-neon-vmov.diff
@@ -0,0 +1,41 @@
+===================================================================
+RCS file: /cvs/src/src/gas/config/tc-arm.c,v
+retrieving revision 1.353
+retrieving revision 1.354
+diff -u -r1.353 -r1.354
+--- src/gas/config/tc-arm.c 2008/03/27 14:12:15 1.353
++++ src/gas/config/tc-arm.c 2008/03/28 18:13:52 1.354
+@@ -5209,16 +5209,6 @@
+ inst.operands[i].present = 1;
+ }
+ }
+- else if (parse_qfloat_immediate (&ptr, &inst.operands[i].imm) == SUCCESS)
+- /* Case 2: VMOV<c><q>.<dt> <Qd>, #<float-imm>
+- Case 3: VMOV<c><q>.<dt> <Dd>, #<float-imm>
+- Case 10: VMOV.F32 <Sd>, #<imm>
+- Case 11: VMOV.F64 <Dd>, #<imm> */
+- inst.operands[i].immisfloat = 1;
+- else if (parse_big_immediate (&ptr, i) == SUCCESS)
+- /* Case 2: VMOV<c><q>.<dt> <Qd>, #<imm>
+- Case 3: VMOV<c><q>.<dt> <Dd>, #<imm> */
+- ;
+ else if ((val = arm_typed_reg_parse (&ptr, REG_TYPE_NSDQ, &rtype,
+ &optype)) != FAIL)
+ {
+@@ -5258,6 +5248,16 @@
+ inst.operands[i++].present = 1;
+ }
+ }
++ else if (parse_qfloat_immediate (&ptr, &inst.operands[i].imm) == SUCCESS)
++ /* Case 2: VMOV<c><q>.<dt> <Qd>, #<float-imm>
++ Case 3: VMOV<c><q>.<dt> <Dd>, #<float-imm>
++ Case 10: VMOV.F32 <Sd>, #<imm>
++ Case 11: VMOV.F64 <Dd>, #<imm> */
++ inst.operands[i].immisfloat = 1;
++ else if (parse_big_immediate (&ptr, i) == SUCCESS)
++ /* Case 2: VMOV<c><q>.<dt> <Qd>, #<imm>
++ Case 3: VMOV<c><q>.<dt> <Dd>, #<imm> */
++ ;
+ else
+ {
+ first_error (_("expected <Rm> or <Dm> or <Qm> operand"));