summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch')
-rw-r--r--meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch b/meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
new file mode 100644
index 0000000000..6dea43fa7c
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.2.2/arm-crunch-truncsi-disable-new.patch
@@ -0,0 +1,33 @@
1--- gcc-4.1.2/gcc/config/arm/cirrus.md-cfcvt 2007-06-25 12:46:22.000000000 +1000
2+++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-25 12:46:41.000000000 +1000
3@@ -337,13 +337,14 @@
4 "cfcvt64d%?\\t%V0, %V1"
5 [(set_attr "cirrus" "normal")])
6
7+; appears to be buggy
8 (define_insn "cirrus_truncsfsi2"
9 [(set (match_operand:SI 0 "s_register_operand" "=r")
10 (fix:SI (fix:SF (match_operand:SF 1 "cirrus_fp_register" "v"))))
11 (clobber (match_scratch:DF 2 "=v"))]
12- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
13+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
14 "cftruncs32%?\\t%Y2, %V1\;cfmvr64l%?\\t%0, %Z2"
15 [(set_attr "length" "8")
16 (set_attr "cirrus" "normal")]
17 )
18
19--- gcc-4.1.2/gcc/config/arm/arm.md-cfcvt 2007-06-25 12:46:56.000000000 +1000
20+++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-25 12:48:08.000000000 +1000
21@@ -3151,10 +3151,11 @@
22 }
23 ")
24
25+; appears to be buggy for MAVERICK
26 (define_expand "fix_truncsfsi2"
27 [(set (match_operand:SI 0 "s_register_operand" "")
28 (fix:SI (fix:SF (match_operand:SF 1 "s_register_operand" ""))))]
29- "TARGET_ARM && TARGET_HARD_FLOAT"
30+ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
31 "
32 if (TARGET_MAVERICK)
33 {