aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog16
-rw-r--r--gcc/config/i386/predicates.md8
2 files changed, 13 insertions, 11 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 630a8d0..7fdc1e5 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,12 @@
+2011-07-28 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (pic_32bit_opreand): Do not define as
+ special predicate. Remove explicit mode checks.
+
2011-07-28 Jakub Jelinek <jakub@redhat.com>
- * dwarf2out.c (resolve_addr): For -gdwarf-2 don't
- optimize DW_AT_data_member_location containing just
- DW_OP_plus_uconst.
+ * dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize
+ DW_AT_data_member_location containing just DW_OP_plus_uconst.
PR debug/49871
* dwarf2out.c (size_of_die, value_format, output_die): Use
@@ -38,7 +42,7 @@
* config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
before the core constraints. Adjust attributes.
- (*thumb2_movdf_vfp"): Likewise.
+ ("*thumb2_movdf_vfp"): Likewise.
2011-07-28 Kai Tietz <ktietz@redhat.com>
@@ -178,8 +182,8 @@
2011-07-27 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/predicates.md (x86_64_movabs_operand): Reject
- pic32_bit_operand RTXes.
+ * config/i386/predicates.md (x86_64_movabs_operand): Return false
+ for pic_32bit_operand RTXes.
* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
in DImode.
diff --git a/gcc/config/i386/predicates.md b/gcc/config/i386/predicates.md
index 53988c2..f7a08ff 100644
--- a/gcc/config/i386/predicates.md
+++ b/gcc/config/i386/predicates.md
@@ -366,15 +366,12 @@
;; Return true when operand is PIC expression that can be computed by lea
;; operation.
-(define_special_predicate "pic_32bit_operand"
+(define_predicate "pic_32bit_operand"
(match_code "const,symbol_ref,label_ref")
{
- if (GET_MODE (op) != SImode
- && GET_MODE (op) != DImode)
- return false;
-
if (!flag_pic)
return false;
+
/* Rule out relocations that translate into 64bit constants. */
if (TARGET_64BIT && GET_CODE (op) == CONST)
{
@@ -386,6 +383,7 @@
|| XINT (op, 1) == UNSPEC_GOT))
return false;
}
+
return symbolic_operand (op, mode);
})