summaryrefslogtreecommitdiff
path: root/packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@rpsys.net>2008-05-16 09:33:59 +0000
committerRichard Purdie <rpurdie@rpsys.net>2008-05-16 09:33:59 +0000
commit34c347b9448e1c752c885cf312ec730e1176af9d (patch)
treefc42277ca7ffcb555be479eb4c36134a7ce3c68c /packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch
parente4068ea40e02f149c1d4fbd7ec4b7686bf056f80 (diff)
Add gcc 4.2.3 and gcc 3.4.6-native from Poky
Diffstat (limited to 'packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch')
-rw-r--r--packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch32
1 files changed, 32 insertions, 0 deletions
diff --git a/packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch b/packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch
new file mode 100644
index 0000000000..ec09ea16a1
--- /dev/null
+++ b/packages/gcc/gcc-4.2.3/arm-crunch-cfcvtds-disable.patch
@@ -0,0 +1,32 @@
+--- gcc-4.1.2/gcc/config/arm/cirrus.md-cfcvt 2007-06-15 10:06:24.000000000 +1000
++++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-15 10:07:21.000000000 +1000
+@@ -355,11 +355,12 @@
+ (set_attr "cirrus" "normal")]
+ )
+
++; appears to be buggy - causes 20000320-1.c to fail in execute/ieee
+ (define_insn "*cirrus_truncdfsf2"
+ [(set (match_operand:SF 0 "cirrus_fp_register" "=v")
+ (float_truncate:SF
+ (match_operand:DF 1 "cirrus_fp_register" "v")))]
+- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
++ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
+ "cfcvtds%?\\t%V0, %V1"
+ [(set_attr "cirrus" "normal")]
+ )
+--- gcc-4.1.2/gcc/config/arm/arm.md-truncdfsf2 2007-06-15 10:25:43.000000000 +1000
++++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-15 10:27:01.000000000 +1000
+@@ -3181,11 +3181,12 @@
+
+ ;; Truncation insns
+
++;; Maverick Crunch truncdfsf2 is buggy - see cirrus.md
+ (define_expand "truncdfsf2"
+ [(set (match_operand:SF 0 "s_register_operand" "")
+ (float_truncate:SF
+ (match_operand:DF 1 "s_register_operand" "")))]
+- "TARGET_ARM && TARGET_HARD_FLOAT"
++ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
+ ""
+ )
+