diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 34721f752a1..51a427614d9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2013-03-26 Sofiane Naci + + * config/aarch64/aarch64.c (aarch64_classify_address): Support + PC-relative load in SI modes and above only. + 2013-03-26 Xinyu Qi * config/arm/arm.h (FIRST_IWMMXT_GR_REGNUM): Add comment. diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 343586e28c8..d51b8d04bb0 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -2926,9 +2926,10 @@ aarch64_classify_address (struct aarch64_address_info *info, case CONST: case SYMBOL_REF: case LABEL_REF: - /* load literal: pc-relative constant pool entry. */ + /* load literal: pc-relative constant pool entry. Only supported + for SI mode or larger. */ info->type = ADDRESS_SYMBOLIC; - if (outer_code != PARALLEL) + if (outer_code != PARALLEL && GET_MODE_SIZE (mode) >= 4) { rtx sym, addend;