summaryrefslogtreecommitdiffstats
path: root/meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch
diff options
context:
space:
mode:
authorMarcin Juszkiewicz <hrw@openedhand.com>2008-04-17 10:04:19 +0000
committerMarcin Juszkiewicz <hrw@openedhand.com>2008-04-17 10:04:19 +0000
commit66df6d12445faf14fcab925e883375758f7132a2 (patch)
tree49092dbe08b3a6b9322b9ccf9e0e51a7a6e2c498 /meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch
parentabca3ca42f2097d1cef8c2eb87fce46604618af2 (diff)
downloadpoky-66df6d12445faf14fcab925e883375758f7132a2.tar.gz
gcc: upgrade 4.2.2 -> 4.2.3
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4286 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch')
-rw-r--r--meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch61
1 files changed, 61 insertions, 0 deletions
diff --git a/meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch b/meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch
new file mode 100644
index 0000000000..aa54ec3e04
--- /dev/null
+++ b/meta/packages/gcc/gcc-4.2.3/arm-crunch-floatsi-disable.patch
@@ -0,0 +1,61 @@
1--- gcc-4.1.2/gcc/config/arm/cirrus.md-cfcvt 2007-06-25 12:12:39.000000000 +1000
2+++ gcc-4.1.2/gcc/config/arm/cirrus.md 2007-06-25 12:16:13.000000000 +1000
3@@ -301,21 +301,23 @@
4 )
5
6 ;; Convert Cirrus-SI to Cirrus-SF
7+; appears to be buggy
8 (define_insn "cirrus_floatsisf2"
9 [(set (match_operand:SF 0 "cirrus_fp_register" "=v")
10 (float:SF (match_operand:SI 1 "s_register_operand" "r")))
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 "cfmv64lr%?\\t%Z2, %1\;cfcvt32s%?\\t%V0, %Y2"
15 [(set_attr "length" "8")
16 (set_attr "cirrus" "move")]
17 )
18
19+;appears to be buggy
20 (define_insn "cirrus_floatsidf2"
21 [(set (match_operand:DF 0 "cirrus_fp_register" "=v")
22 (float:DF (match_operand:SI 1 "s_register_operand" "r")))
23 (clobber (match_scratch:DF 2 "=v"))]
24- "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK"
25+ "TARGET_ARM && TARGET_HARD_FLOAT && TARGET_MAVERICK && 0"
26 "cfmv64lr%?\\t%Z2, %1\;cfcvt32d%?\\t%V0, %Y2"
27 [(set_attr "length" "8")
28 (set_attr "cirrus" "move")]
29--- gcc-4.1.2/gcc/config/arm/arm.md-cfcvt 2007-06-25 12:16:53.000000000 +1000
30+++ gcc-4.1.2/gcc/config/arm/arm.md 2007-06-25 12:18:20.000000000 +1000
31@@ -3125,24 +3125,26 @@
32
33 ;; Fixed <--> Floating conversion insns
34
35+;; Maverick Crunch floatsisf2 is buggy - see cirrus.md
36 (define_expand "floatsisf2"
37 [(set (match_operand:SF 0 "s_register_operand" "")
38 (float:SF (match_operand:SI 1 "s_register_operand" "")))]
39- "TARGET_ARM && TARGET_HARD_FLOAT"
40+ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
41 "
42- if (TARGET_MAVERICK)
43+ if (TARGET_MAVERICK && 0)
44 {
45 emit_insn (gen_cirrus_floatsisf2 (operands[0], operands[1]));
46 DONE;
47 }
48 ")
49
50+;; Maverick Crunch floatsidf2 is buggy - see cirrus.md
51 (define_expand "floatsidf2"
52 [(set (match_operand:DF 0 "s_register_operand" "")
53 (float:DF (match_operand:SI 1 "s_register_operand" "")))]
54- "TARGET_ARM && TARGET_HARD_FLOAT"
55+ "TARGET_ARM && TARGET_HARD_FLOAT && (TARGET_FPA || TARGET_VFP)"
56 "
57- if (TARGET_MAVERICK)
58+ if (TARGET_MAVERICK && 0)
59 {
60 emit_insn (gen_cirrus_floatsidf2 (operands[0], operands[1]));
61 DONE;