gcc

~vcs-imports/gcc/+git/gcc:hubicka/honza-gcc-benchmark-branch

Last commit made on 2019-12-17
Get this branch:
git clone -b hubicka/honza-gcc-benchmark-branch https://git.launchpad.net/~vcs-imports/gcc/+git/gcc

Branch merges

Branch information

Name:
hubicka/honza-gcc-benchmark-branch
Repository:
lp:~vcs-imports/gcc/+git/gcc

Recent commits

354f7b6... by Jan Hubicka <email address hidden>

Merge remote-tracking branch 'origin/master' into honza-gcc-benchmark-branch

44ba015... by ams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>

Revert "Fix vector testcases for amdgcn."

Apologies everyone. :-(

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279466 138bc75d-0d04-0410-961f-82ee72b054a4

82c0f49... by ams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>

Fix vector testcases for amdgcn.

2019-12-17 Andrew Stubbs <email address hidden>

 gcc/testsuite/
 * gcc.dg/vect/pr65947-8.c: Change pass conditions for amdgcn.
 * gcc.dg/vect/vect-multitypes-11.c: Ensure that main isn't vectorized.
 * gcc.dg/vect/vect-multitypes-12.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279465 138bc75d-0d04-0410-961f-82ee72b054a4

c691da7... by hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>

 * symtab.c (symtab_node::get_partitioning_class): Aliases of external
 symbols are external.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279464 138bc75d-0d04-0410-961f-82ee72b054a4

2e94764... by clyon <clyon@138bc75d-0d04-0410-961f-82ee72b054a4>

[ARM] Add support for -mpure-code in thumb-1 (v6m)

This patch extends support for -mpure-code to all thumb-1 processors,
by removing the need for MOVT.

Symbol addresses are built using upper8_15, upper0_7, lower8_15 and
lower0_7 relocations, and constants are built using sequences of
movs/adds and lsls instructions.

The extension of the *thumb1_movhf pattern uses always the same size
(6) although it can emit a shorter sequence when possible. This is
similar to what *arm32_movhf already does.

CASE_VECTOR_PC_RELATIVE is now false with -mpure-code, to avoid
generating invalid assembly code with differences from symbols from
two different sections (the difference cannot be computed by the
assembler).

Tests pr45701-[12].c needed a small adjustment to avoid matching
upper8_15 when looking for the r8 register.

Test no-literal-pool.c is augmented with __fp16, so it now uses
-mfp16-format=ieee.

Test thumb1-Os-mult.c generates an inline code sequence with
-mpure-code and computes the multiplication by using a sequence of
add/shift rather than using the multiply instruction, so we skip it in
presence of -mpure-code.

With -mcpu=cortex-m0, the pure-code/no-literal-pool.c fails because
code like:
static char *p = "Hello World";
char *
testchar ()
{
  return p + 4;
}

generates 2 indirections (I removed non-essential directives/code)
          .section .rodata
   .LC0:
   .ascii "Hello World\000"
   .data
   p:
   .word .LC0
   .section .rodata
   .LC2:
   .word p
   .section .text,"0x20000006",%progbits
   testchar:
   push {r7, lr}
   add r7, sp, #0
   movs r3, #:upper8_15:#.LC2
   lsls r3, #8
   adds r3, #:upper0_7:#.LC2
   lsls r3, #8
   adds r3, #:lower8_15:#.LC2
   lsls r3, #8
   adds r3, #:lower0_7:#.LC2
   ldr r3, [r3]
   ldr r3, [r3]
   adds r3, r3, #4
   movs r0, r3
   mov sp, r7
   @ sp needed
   pop {r7, pc}

By contrast, when using -mcpu=cortex-m4, the code looks like:
        .section .rodata
 .LC0:
 .ascii "Hello World\000"
 .data
 p:
 .word .LC0
 testchar:
 push {r7}
 add r7, sp, #0
 movw r3, #:lower16:p
 movt r3, #:upper16:p
 ldr r3, [r3]
 adds r3, r3, #4
 mov r0, r3
 mov sp, r7
 pop {r7}
 bx lr

I haven't found yet how to make code for cortex-m0 apply upper/lower
relocations to "p" instead of .LC2. The current code looks functional,
but could be improved.

2019-10-18 Christophe Lyon <email address hidden>

 gcc/
 * config/arm/arm-protos.h (thumb1_gen_const_int): Add new prototype.
 * config/arm/arm.c (arm_option_check_internal): Remove restriction
 on MOVT for -mpure-code.
 (thumb1_gen_const_int): New function.
 (thumb1_legitimate_address_p): Support -mpure-code.
 (thumb1_rtx_costs): Likewise.
 (thumb1_size_rtx_costs): Likewise.
 (arm_thumb1_mi_thunk): Likewise.
 * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Likewise.
 * config/arm/thumb1.md (thumb1_movsi_symbol_ref): New.
 (*thumb1_movhf): Support -mpure-code.

 gcc/testsuite/
 * gcc.target/arm/pr45701-1.c: Adjust for -mpure-code.
 * gcc.target/arm/pr45701-2.c: Likewise.
 * gcc.target/arm/pure-code/no-literal-pool.c: Add tests for
 __fp16.
 * gcc.target/arm/pure-code/pure-code.exp: Remove thumb2 and movt
 conditions.
 * gcc.target/arm/thumb1-Os-mult.c: Skip if -mpure-code is used.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279463 138bc75d-0d04-0410-961f-82ee72b054a4

3081f59... by mionescu <mionescu@138bc75d-0d04-0410-961f-82ee72b054a4>

Add myself to write after approval.

2019-12-17 Mihail Ionescu <email address hidden>

 * MAINTAINERS (write_after_approval): Add myself.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279461 138bc75d-0d04-0410-961f-82ee72b054a4

4ebc134... by ams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>

Add pointer to PR92772

2019-12-17 Andrew Stubbs <email address hidden>

 * tree-vect-loop.c (vect_create_epilog_for_reduction): Mention pr92772
 in the comments.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279460 138bc75d-0d04-0410-961f-82ee72b054a4

11675ed... by ams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>

Add extract_last for amdgcn

2019-12-17 Andrew Stubbs <email address hidden>

 gcc/
 * config/gcn/gcn-valu.md (extract_last_<mode>): New expander.
 (fold_extract_last_<mode>): New expander.

 gcc/testsuite/
 * lib/target-supports.exp
 (check_effective_target_vect_fold_extract_last): Add amdgcn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279459 138bc75d-0d04-0410-961f-82ee72b054a4

e7cbf9e... by ams <ams@138bc75d-0d04-0410-961f-82ee72b054a4>

Add clz and ctz for amdgcn

2019-12-17 Andrew Stubbs <email address hidden>

 gcc/
 * config/gcn/gcn.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
 (CTZ_DEFINED_VALUE_AT_ZERO): Define.
 * config/gcn/gcn.md (s_mnemonic): Add clz and ctz.
 (expander): Likewise.
 (countzeros): New code iterator.
 (<expander>si2): New insn pattern.
 (<expander>di2): New insn pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279458 138bc75d-0d04-0410-961f-82ee72b054a4

3e1b818... by burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>

libgomp/openacc.f90 – clean-up public/private attributes

        * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
        all symbols as public except for the 'use …, only' imported symbol,
        which is private.
        (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
        all symbols from module openacc_kinds as PUBLIC
        * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
        fix comment typo.
        * openacc_lib.h (acc_device_gcn): Add this PARAMETER.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@279456 138bc75d-0d04-0410-961f-82ee72b054a4