summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
diff options
context:
space:
mode:
authorOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2007-10-18 16:35:01 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2007-10-18 16:35:01 +0000
commit2b94d96062ac7eb6a15445f74e424b7b08e69a63 (patch)
treea4ceb58e4985908f2dd574d498e1e17f38061f5e /packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
parent51d88fa521229df09a9d624618d7e861d765d21a (diff)
parent0ed630ee92d26828b61f1de72dc0b33d2a056123 (diff)
merge of '1d0e13e8c6528e7a7037276e3c01cb21dfa085e4'
and '86581f7de9bc72fe5e21778b4442cc0e59e96fbf'
Diffstat (limited to 'packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch')
-rw-r--r--packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch b/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
new file mode 100644
index 0000000000..6dea43fa7c
--- /dev/null
+++ b/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
@@ -0,0 +1,33 @@
+--- gcc-4.1.2/gcc/config/arm/cirrus.md-cfcvt 2007-06-25 12:46:22.000000000 +1000
++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-25 12:46:41.000000000 +1000
+@@ -337,13 +337,14 @@
+ "cfcvt64d%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")])
+
++; appears to be buggy
+ (define_insn "cirrus_truncsfsi2"
+ [(set (match_operand:SI 0 "s_register_operand" "=r")
+ (fix:SI (fix:SF (match_operand:SF 1 "cirrus_fp_register" "v"))))
+ (clobber (match_scratch:DF 2 "=v"))]
+- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+ "cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
+ [(set_attr "length" "8")
+ (set_attr "cirrus" "normal")]
+ )
+
+--- gcc-4.1.2/gcc/config/arm/arm.md-cfcvt 2007-06-25 12:46:56.000000000 +1000
++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-25 12:48:08.000000000 +1000
+@@ -3151,10 +3151,11 @@
+ }
+ ")
+
++; appears to be buggy for MAVERICK
+ (define_expand "fix_truncsfsi2"
+ [(set (match_operand:SI 0 "s_register_operand" "")
+ (fix:SI (fix:SF (match_operand:SF 1 "s_register_operand" ""))))]
+- "TARGET_ARM && TARGET_HARD_FLOAT"
++ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
+ "
+ if (TARGET_MAVERICK)
+ {