Successfully identified regression in *gcc* in CI configuration tcwg_gnu/gnu-master-arm-check_bootstrap. So far, this commit has regressed CI configurations: - tcwg_gnu/gnu-master-arm-check_bootstrap
Culprit: <cut> commit c60d9160b4d966dbea5b1bbea4f817c64d0bee2d Author: Uros Bizjak ubizjak@gmail.com Date: Tue Jun 29 19:14:35 2021 +0200
i386: Add V2SFmode vec_addsub pattern [PR95046]
gcc/
2021-06-21 Uroš Bizjak ubizjak@gmail.com
PR target/95046 * config/i386/mmx.md (vec_addsubv2sf3): New insn pattern.
gcc/testsuite/
2021-06-21 Uroš Bizjak ubizjak@gmail.com
PR target/95046 * gcc.target/i386/pr95046-9.c: New test. </cut>
Results regressed to (for first_bad == c60d9160b4d966dbea5b1bbea4f817c64d0bee2d) # reset_artifacts: -10 # build_abe bootstrap: 0 # build_abe check_bootstrap: 1 # # Comparing directories # # REFERENCE: base-artifacts/sumfiles # # CURRENT: /home/tcwg-buildslave/workspace/tcwg_gnu_2/artifacts/build-c60d9160b4d966dbea5b1bbea4f817c64d0bee2d/sumfiles # # # Comparing 12 common sum files: # g++.sum # gcc.sum # gfortran.sum # go.sum # gotools.sum # libatomic.sum # libffi.sum # libgo.sum # libgomp.sum # libitm.sum # libstdc++.sum # objc.sum # Comparing: # REFERENCE:/tmp/gxx-sum1.3448361 # CURRENT: /tmp/gxx-sum2.3448361 # # ` +---------+---------+ # o RUN STATUS: | REF | RES | # +------------------------------------------+---------+---------+ # | Passes [PASS] | 460521 | 460519 | # | Unexpected fails [FAIL] | 195 | 197 | # | Errors [ERROR] | 0 | 0 | # | Unexpected passes [XPASS] | 15 | 15 | # | Expected fails [XFAIL] | 2737 | 2737 | # | Unresolved [UNRESOLVED] | 104 | 104 | # | Unsupported [UNSUPPORTED] | 22896 | 22896 | # | Untested [UNTESTED] | 10 | 10 | # +------------------------------------------+---------+---------+ # # REF PASS ratio: 0.952269 # RES PASS ratio: 0.952265 # # o REGRESSIONS: # +------------------------------------------+---------+ # | PASS now FAIL [PASS => FAIL] | 1 | # | FAIL appears [ => FAIL] | 1 | # +------------------------------------------+---------+ # | TOTAL_REGRESSIONS | 2 | # +------------------------------------------+---------+ # # - PASS now FAIL [PASS => FAIL]: # # Executed from: g++.dg/dg.exp # g++:g++.dg/warn/Wextra-semi.C -std=gnu++14 (test for excess errors) # # # - FAIL appears [ => FAIL]: # # Executed from: g++.dg/dg.exp # g++:g++.dg/warn/Wextra-semi.C -std=gnu++14 expected multiline pattern lines 21-23 not found: " friend void bar() {};.*\n ^\n -.*\n" # # # # o IMPROVEMENTS TO BE CHECKED: # +------------------------------------------+---------+ # | PASS disappears [PASS => ] | 1 | # +------------------------------------------+---------+ # | TOTAL_IMPROVEMENTS_TO_BE_CHECKED | 1 | # +------------------------------------------+---------+ # # - PASS disappears [PASS => ]: # # Executed from: g++.dg/dg.exp # g++:g++.dg/warn/Wextra-semi.C -std=gnu++14 expected multiline pattern lines 21-23 was found: " friend void bar() {};.*\n ^\n -.*\n" # # # # # Regressions found # # Regressions in 12 common sum files found
from (for last_good == c0f8c22a3e9f8cd45c1cb4be5f83afbebe3bfdc9) # reset_artifacts: -10 # build_abe bootstrap: 0 # build_abe check_bootstrap: 1
Artifacts of last_good build: https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... Artifacts of first_bad build: https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... Build top page/logs: https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/
Configuration details:
Reproduce builds: <cut> mkdir investigate-gcc-c60d9160b4d966dbea5b1bbea4f817c64d0bee2d cd investigate-gcc-c60d9160b4d966dbea5b1bbea4f817c64d0bee2d
git clone https://git.linaro.org/toolchain/jenkins-scripts
mkdir -p artifacts/manifests curl -o artifacts/manifests/build-baseline.sh https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... --fail curl -o artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... --fail curl -o artifacts/test.sh https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... --fail chmod +x artifacts/test.sh
# Reproduce the baseline build (build all pre-requisites) ./jenkins-scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh
cd gcc
# Reproduce first_bad build git checkout --detach c60d9160b4d966dbea5b1bbea4f817c64d0bee2d ../artifacts/test.sh
# Reproduce last_good build git checkout --detach c0f8c22a3e9f8cd45c1cb4be5f83afbebe3bfdc9 ../artifacts/test.sh
cd .. </cut>
History of pending regressions and results: https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-local/c...
Artifacts: https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/... Build log: https://ci.linaro.org/job/tcwg_gcc-bisect-gnu-master-arm-check_bootstrap/71/...
Full commit (up to 1000 lines): <cut> commit c60d9160b4d966dbea5b1bbea4f817c64d0bee2d Author: Uros Bizjak ubizjak@gmail.com Date: Tue Jun 29 19:14:35 2021 +0200
i386: Add V2SFmode vec_addsub pattern [PR95046]
gcc/
2021-06-21 Uroš Bizjak ubizjak@gmail.com
PR target/95046 * config/i386/mmx.md (vec_addsubv2sf3): New insn pattern.
gcc/testsuite/
2021-06-21 Uroš Bizjak ubizjak@gmail.com
PR target/95046 * gcc.target/i386/pr95046-9.c: New test. --- gcc/config/i386/mmx.md | 18 ++++++++++++++++++ gcc/testsuite/gcc.target/i386/pr95046-9.c | 14 ++++++++++++++ 2 files changed, 32 insertions(+)
diff --git a/gcc/config/i386/mmx.md b/gcc/config/i386/mmx.md index e887f03474d..5f10572718d 100644 --- a/gcc/config/i386/mmx.md +++ b/gcc/config/i386/mmx.md @@ -788,6 +788,24 @@ (set_attr "prefix_extra" "1") (set_attr "mode" "V2SF")])
+(define_insn "vec_addsubv2sf3" + [(set (match_operand:V2SF 0 "register_operand" "=x,x") + (vec_merge:V2SF + (minus:V2SF + (match_operand:V2SF 1 "register_operand" "0,x") + (match_operand:V2SF 2 "register_operand" "x,x")) + (plus:V2SF (match_dup 1) (match_dup 2)) + (const_int 1)))] + "TARGET_SSE3 && TARGET_MMX_WITH_SSE" + "@ + addsubps\t{%2, %0|%0, %2} + vaddsubps\t{%2, %1, %0|%0, %1, %2}" + [(set_attr "isa" "noavx,avx") + (set_attr "type" "sseadd") + (set_attr "prefix" "orig,vex") + (set_attr "prefix_rep" "1,*") + (set_attr "mode" "V4SF")]) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; Parallel single-precision floating point comparisons diff --git a/gcc/testsuite/gcc.target/i386/pr95046-9.c b/gcc/testsuite/gcc.target/i386/pr95046-9.c new file mode 100644 index 00000000000..54e948ccfb0 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr95046-9.c @@ -0,0 +1,14 @@ +/* PR target/95046 */ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-O3 -msse3" } */ + +float r[2], a[2], b[2]; + +void +test (void) +{ + r[0] = a[0] - b[0]; + r[1] = a[1] + b[1]; +} + +/* { dg-final { scan-assembler "\tv?addsubps" } } */ </cut>
linaro-toolchain@lists.linaro.org