On Wed, Apr 2, 2014 at 12:27 AM, Joseph S. Myers <jos...@codesourcery.com> wrote:
> There are other failures this patch does not resolve in a > --with-arch=bdver3 --with-cpu=bdver3 configuration. Some of these are > AVX tests whose failures are not resolved by adding -mno-prefer-avx128 > (and so this patch does not add -mno-prefer-avx128 to those tests); > others may be cases where -mtune=generic is appropriate but I haven't > identified the specific tuning parameter that shows code generation > differences depending on tuning are correct and so a -mtune= option > should be used. > > FAIL: gcc.target/i386/avx2-vpand-1.c scan-assembler vpand[ > \\t]+[^\n]*%ymm[0-9] > FAIL: gcc.target/i386/avx2-vpand-3.c scan-assembler-times vpand[ > \\t]+[^\n]*%ymm[0-9] 1 > FAIL: gcc.target/i386/avx2-vpandn-1.c scan-assembler vpandn[ > \\t]+[^\n]*%ymm[0-9] > FAIL: gcc.target/i386/avx2-vpor-1.c scan-assembler vpor[ \\t]+[^\n]*%ymm[0-9] > FAIL: gcc.target/i386/avx2-vpxor-1.c scan-assembler vpxor[ > \\t]+[^\n]*%ymm[0-9] > FAIL: gcc.target/i386/avx256-unaligned-load-2.c scan-assembler > (sse2_loaddqu|vmovdqu[^\n\r]*movv16qi_internal) > FAIL: gcc.target/i386/avx256-unaligned-load-2.c scan-assembler vinsert.128 > FAIL: gcc.target/i386/avx512f-vec-init.c scan-assembler-times vmovdqa64[ > \\t]+%zmm 2 > FAIL: gcc.target/i386/avx512f-vmovdqu32-1.c scan-assembler-times > vmovdqu[36][24][ \\t]+[^\n]*\\)[^\n]*%zmm[0-9][^{] 1 > FAIL: gcc.target/i386/avx512f-vmovupd-1.c scan-assembler-times vmovupd[ > \\t]+[^\n]*\\)[^\n]*%zmm[0-9][^{] 1 > FAIL: gcc.target/i386/avx512f-vpandd-1.c scan-assembler-times vpandd[ > \\t]+[^\n]*%zmm[0-9][^{] 4 > FAIL: gcc.target/i386/avx512f-vpandd-1.c scan-assembler-times vpandd[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpandd-1.c scan-assembler-times vpandd[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpandnd-1.c scan-assembler-times vpandnd[ > \\t]+[^\n]*%zmm[0-9][^{] 4 > FAIL: gcc.target/i386/avx512f-vpandnd-1.c scan-assembler-times vpandnd[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpandnd-1.c scan-assembler-times vpandnd[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpandnq-1.c scan-assembler-times vpandnq[ > \\t]+[^\n]*%zmm[0-9][^{] 3 > FAIL: gcc.target/i386/avx512f-vpandnq-1.c scan-assembler-times vpandnq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpandnq-1.c scan-assembler-times vpandnq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpandq-1.c scan-assembler-times vpandq[ > \\t]+[^\n]*%zmm[0-9][^{] 3 > FAIL: gcc.target/i386/avx512f-vpandq-1.c scan-assembler-times vpandq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpandq-1.c scan-assembler-times vpandq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpord-1.c scan-assembler-times vpord[ > \\t]+[^\n]*%zmm[0-9][^{] 4 > FAIL: gcc.target/i386/avx512f-vpord-1.c scan-assembler-times vpord[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpord-1.c scan-assembler-times vpord[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vporq-1.c scan-assembler-times vporq[ > \\t]+[^\n]*%zmm[0-9][^{] 3 > FAIL: gcc.target/i386/avx512f-vporq-1.c scan-assembler-times vporq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vporq-1.c scan-assembler-times vporq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpxord-1.c scan-assembler-times vpxord[ > \\t]+[^\n]*%zmm[0-9][^{] 4 > FAIL: gcc.target/i386/avx512f-vpxord-1.c scan-assembler-times vpxord[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpxord-1.c scan-assembler-times vpxord[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/avx512f-vpxorq-1.c scan-assembler-times vpxorq[ > \\t]+[^\n]*%zmm[0-9][^{] 3 > FAIL: gcc.target/i386/avx512f-vpxorq-1.c scan-assembler-times vpxorq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}[^{] 1 > FAIL: gcc.target/i386/avx512f-vpxorq-1.c scan-assembler-times vpxorq[ > \\t]+[^\n]*%zmm[0-9]{%k[1-7]}{z} 1 > FAIL: gcc.target/i386/pr49002-1.c scan-assembler vmovapd[\t ]*[^,]*,[\t ]*%xmm > FAIL: gcc.target/i386/pr53712.c scan-assembler-times movdqu 1 > FAIL: gcc.target/i386/pr53907.c scan-assembler movdqa > FAIL: gcc.target/i386/pr59539-1.c scan-assembler-times vmovdqu 1 > FAIL: gcc.target/i386/pr59539-2.c scan-assembler-times vmovdqu 1 These are due to TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL tuning flag. Currently, this flag applies to all vector sizes (128, 256 and 512 bits), but I guess it is effective only for 128 bit sizes. Can you please review usage of this flag in i386/sse.md? Thanks, Uros.