[Bug 2101084] Re: GCC produces wrong code for arm64+sve in some cases

Andreas Hasenack 2101084 at bugs.launchpad.net
Wed Feb 25 12:27:03 UTC 2026


Copied gcc-11 from questing updates to security:
$ ./copy-package --from-suite questing-updates --to-suite questing-security -b --auto-approve -e 11.5.0-7ubuntu1.1 gcc-11
Copy candidates:
	gcc-11 11.5.0-7ubuntu1.1 in questing
	cpp-11 11.5.0-7ubuntu1.1 in questing amd64
	cpp-11 11.5.0-7ubuntu1.1 in questing amd64v3
	cpp-11 11.5.0-7ubuntu1.1 in questing arm64
	cpp-11 11.5.0-7ubuntu1.1 in questing armhf
	cpp-11 11.5.0-7ubuntu1.1 in questing i386
	cpp-11 11.5.0-7ubuntu1.1 in questing ppc64el
	cpp-11 11.5.0-7ubuntu1.1 in questing riscv64
	cpp-11 11.5.0-7ubuntu1.1 in questing s390x
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	cpp-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing i386
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	cpp-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	g++-11 11.5.0-7ubuntu1.1 in questing amd64
	g++-11 11.5.0-7ubuntu1.1 in questing amd64v3
	g++-11 11.5.0-7ubuntu1.1 in questing arm64
	g++-11 11.5.0-7ubuntu1.1 in questing armhf
	g++-11 11.5.0-7ubuntu1.1 in questing i386
	g++-11 11.5.0-7ubuntu1.1 in questing ppc64el
	g++-11 11.5.0-7ubuntu1.1 in questing riscv64
	g++-11 11.5.0-7ubuntu1.1 in questing s390x
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	g++-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	g++-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	g++-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	g++-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gcc-11 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11 11.5.0-7ubuntu1.1 in questing i386
	gcc-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-base 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-base 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-base 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-base 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-base 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-base 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-base 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-base 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-hppa64-linux-gnu 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-hppa64-linux-gnu 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-hppa64-linux-gnu 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-hppa64-linux-gnu-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-hppa64-linux-gnu-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-hppa64-linux-gnu-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-locales 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-offload-amdgcn 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-offload-amdgcn 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-offload-amdgcn-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-offload-amdgcn-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-offload-nvptx 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-offload-nvptx 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-offload-nvptx 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-offload-nvptx-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-offload-nvptx-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-offload-nvptx-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-plugin-dev 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-plugin-dev-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-source 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-source 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-source 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-source 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-source 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-source 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-source 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-source 11.5.0-7ubuntu1.1 in questing s390x
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing amd64
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing amd64v3
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing arm64
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing armhf
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing i386
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing ppc64el
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing riscv64
	gcc-11-test-results 11.5.0-7ubuntu1.1 in questing s390x
	gccgo-11 11.5.0-7ubuntu1.1 in questing amd64
	gccgo-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gccgo-11 11.5.0-7ubuntu1.1 in questing arm64
	gccgo-11 11.5.0-7ubuntu1.1 in questing armhf
	gccgo-11 11.5.0-7ubuntu1.1 in questing i386
	gccgo-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gccgo-11 11.5.0-7ubuntu1.1 in questing riscv64
	gccgo-11 11.5.0-7ubuntu1.1 in questing s390x
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gccgo-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing i386
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	gccgo-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	gccgo-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gccgo-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gccgo-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gdc-11 11.5.0-7ubuntu1.1 in questing amd64
	gdc-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gdc-11 11.5.0-7ubuntu1.1 in questing arm64
	gdc-11 11.5.0-7ubuntu1.1 in questing armhf
	gdc-11 11.5.0-7ubuntu1.1 in questing i386
	gdc-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gdc-11 11.5.0-7ubuntu1.1 in questing riscv64
	gdc-11 11.5.0-7ubuntu1.1 in questing s390x
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gdc-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gdc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gdc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gdc-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gfortran-11 11.5.0-7ubuntu1.1 in questing amd64
	gfortran-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gfortran-11 11.5.0-7ubuntu1.1 in questing arm64
	gfortran-11 11.5.0-7ubuntu1.1 in questing armhf
	gfortran-11 11.5.0-7ubuntu1.1 in questing i386
	gfortran-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gfortran-11 11.5.0-7ubuntu1.1 in questing riscv64
	gfortran-11 11.5.0-7ubuntu1.1 in questing s390x
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gfortran-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing i386
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	gfortran-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	gfortran-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gfortran-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gfortran-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gnat-11 11.5.0-7ubuntu1.1 in questing amd64
	gnat-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gnat-11 11.5.0-7ubuntu1.1 in questing arm64
	gnat-11 11.5.0-7ubuntu1.1 in questing armhf
	gnat-11 11.5.0-7ubuntu1.1 in questing i386
	gnat-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gnat-11 11.5.0-7ubuntu1.1 in questing riscv64
	gnat-11 11.5.0-7ubuntu1.1 in questing s390x
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing i386
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	gnat-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	gobjc++-11 11.5.0-7ubuntu1.1 in questing amd64
	gobjc++-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc++-11 11.5.0-7ubuntu1.1 in questing arm64
	gobjc++-11 11.5.0-7ubuntu1.1 in questing armhf
	gobjc++-11 11.5.0-7ubuntu1.1 in questing i386
	gobjc++-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gobjc++-11 11.5.0-7ubuntu1.1 in questing riscv64
	gobjc++-11 11.5.0-7ubuntu1.1 in questing s390x
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gobjc++-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gobjc++-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gobjc++-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc++-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	gobjc-11 11.5.0-7ubuntu1.1 in questing amd64
	gobjc-11 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc-11 11.5.0-7ubuntu1.1 in questing arm64
	gobjc-11 11.5.0-7ubuntu1.1 in questing armhf
	gobjc-11 11.5.0-7ubuntu1.1 in questing i386
	gobjc-11 11.5.0-7ubuntu1.1 in questing ppc64el
	gobjc-11 11.5.0-7ubuntu1.1 in questing riscv64
	gobjc-11 11.5.0-7ubuntu1.1 in questing s390x
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	gobjc-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	gobjc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64
	gobjc-11-multilib 11.5.0-7ubuntu1.1 in questing amd64v3
	gobjc-11-multilib 11.5.0-7ubuntu1.1 in questing i386
	lib32asan6 11.5.0-7ubuntu1.1 in questing amd64
	lib32asan6 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32gcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32gcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32gfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32gfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32go-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32go-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32go19 11.5.0-7ubuntu1.1 in questing amd64
	lib32go19 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32gphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32gphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32gphobos2 11.5.0-7ubuntu1.1 in questing amd64
	lib32gphobos2 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	lib32gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32objc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32objc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32stdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	lib32stdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	lib32stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	lib32stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64
	lib32stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64v3
	lib64asan6 11.5.0-7ubuntu1.1 in questing i386
	lib64gcc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64gfortran-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64go-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64go19 11.5.0-7ubuntu1.1 in questing i386
	lib64gphobos-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64gphobos2 11.5.0-7ubuntu1.1 in questing i386
	lib64gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	lib64objc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64stdc++-11-dev 11.5.0-7ubuntu1.1 in questing i386
	lib64stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	lib64stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing i386
	libasan6 11.5.0-7ubuntu1.1 in questing amd64
	libasan6 11.5.0-7ubuntu1.1 in questing amd64v3
	libasan6 11.5.0-7ubuntu1.1 in questing arm64
	libasan6 11.5.0-7ubuntu1.1 in questing armhf
	libasan6 11.5.0-7ubuntu1.1 in questing i386
	libasan6 11.5.0-7ubuntu1.1 in questing ppc64el
	libasan6 11.5.0-7ubuntu1.1 in questing riscv64
	libasan6 11.5.0-7ubuntu1.1 in questing s390x
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libgcc-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libgccjit-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing i386
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	libgccjit-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libgfortran-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libgnat-11 11.5.0-7ubuntu1.1 in questing amd64
	libgnat-11 11.5.0-7ubuntu1.1 in questing amd64v3
	libgnat-11 11.5.0-7ubuntu1.1 in questing arm64
	libgnat-11 11.5.0-7ubuntu1.1 in questing armhf
	libgnat-11 11.5.0-7ubuntu1.1 in questing i386
	libgnat-11 11.5.0-7ubuntu1.1 in questing ppc64el
	libgnat-11 11.5.0-7ubuntu1.1 in questing riscv64
	libgnat-11 11.5.0-7ubuntu1.1 in questing s390x
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	libgnat-11-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libgo-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libgo19 11.5.0-7ubuntu1.1 in questing amd64
	libgo19 11.5.0-7ubuntu1.1 in questing amd64v3
	libgo19 11.5.0-7ubuntu1.1 in questing arm64
	libgo19 11.5.0-7ubuntu1.1 in questing armhf
	libgo19 11.5.0-7ubuntu1.1 in questing i386
	libgo19 11.5.0-7ubuntu1.1 in questing ppc64el
	libgo19 11.5.0-7ubuntu1.1 in questing riscv64
	libgo19 11.5.0-7ubuntu1.1 in questing s390x
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libgphobos-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libgphobos2 11.5.0-7ubuntu1.1 in questing amd64
	libgphobos2 11.5.0-7ubuntu1.1 in questing amd64v3
	libgphobos2 11.5.0-7ubuntu1.1 in questing arm64
	libgphobos2 11.5.0-7ubuntu1.1 in questing armhf
	libgphobos2 11.5.0-7ubuntu1.1 in questing i386
	libgphobos2 11.5.0-7ubuntu1.1 in questing ppc64el
	libgphobos2 11.5.0-7ubuntu1.1 in questing riscv64
	libgphobos2 11.5.0-7ubuntu1.1 in questing s390x
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	libgphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libobjc-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing arm64
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing armhf
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing ppc64el
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing riscv64
	libstdc++-11-dev 11.5.0-7ubuntu1.1 in questing s390x
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing arm64
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing armhf
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing ppc64el
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing riscv64
	libstdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing s390x
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing amd64
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing amd64v3
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing arm64
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing armhf
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing i386
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing ppc64el
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing riscv64
	libstdc++-11-doc 11.5.0-7ubuntu1.1 in questing s390x
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing amd64
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing amd64v3
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing arm64
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing armhf
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing i386
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing ppc64el
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing riscv64
	libstdc++-11-pic 11.5.0-7ubuntu1.1 in questing s390x
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64v3
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing arm64
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing armhf
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing i386
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing ppc64el
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing riscv64
	libstdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing s390x
	libtsan0 11.5.0-7ubuntu1.1 in questing amd64
	libtsan0 11.5.0-7ubuntu1.1 in questing amd64v3
	libtsan0 11.5.0-7ubuntu1.1 in questing arm64
	libtsan0 11.5.0-7ubuntu1.1 in questing ppc64el
	libx32asan6 11.5.0-7ubuntu1.1 in questing amd64
	libx32asan6 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32asan6 11.5.0-7ubuntu1.1 in questing i386
	libx32gcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32gcc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32gcc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32gfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32gfortran-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32gfortran-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32go-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32go-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32go-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32go19 11.5.0-7ubuntu1.1 in questing amd64
	libx32go19 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32go19 11.5.0-7ubuntu1.1 in questing i386
	libx32gphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32gphobos-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32gphobos-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32gphobos2 11.5.0-7ubuntu1.1 in questing amd64
	libx32gphobos2 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32gphobos2 11.5.0-7ubuntu1.1 in questing i386
	libx32gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	libx32gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32gphobos2-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	libx32objc-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32objc-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32objc-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32stdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64
	libx32stdc++-11-dev 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32stdc++-11-dev 11.5.0-7ubuntu1.1 in questing i386
	libx32stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64
	libx32stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32stdc++-11-dev-dbgsym 11.5.0-7ubuntu1.1 in questing i386
	libx32stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64
	libx32stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing amd64v3
	libx32stdc++6-11-dbg 11.5.0-7ubuntu1.1 in questing i386
Candidate copy target: https://api.launchpad.net/devel/ubuntu/+archive/primary, questing, security
Copy [y|N]? y
490 copies requested.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to gcc-10 in Ubuntu.
https://bugs.launchpad.net/bugs/2101084

Title:
  GCC produces wrong code for arm64+sve in some cases

Status in gcc:
  Fix Released
Status in Ubuntu Pro:
  In Progress
Status in Ubuntu Pro 20.04 series:
  In Progress
Status in gcc-10 package in Ubuntu:
  New
Status in gcc-11 package in Ubuntu:
  Fix Released
Status in gcc-12 package in Ubuntu:
  Fix Released
Status in gcc-13 package in Ubuntu:
  Invalid
Status in gcc-14 package in Ubuntu:
  Invalid
Status in gcc-8 package in Ubuntu:
  Won't Fix
Status in gcc-9 package in Ubuntu:
  Fix Released
Status in gcc-10 source package in Focal:
  Won't Fix
Status in gcc-8 source package in Focal:
  Won't Fix
Status in gcc-9 source package in Focal:
  Won't Fix
Status in gcc-10 source package in Jammy:
  Fix Released
Status in gcc-11 source package in Jammy:
  Fix Released
Status in gcc-9 source package in Jammy:
  Fix Released
Status in gcc-10 source package in Noble:
  Fix Released
Status in gcc-11 source package in Noble:
  Fix Released
Status in gcc-13 source package in Noble:
  Fix Released
Status in gcc-14 source package in Noble:
  Fix Released
Status in gcc-9 source package in Noble:
  Fix Released
Status in gcc-11 source package in Oracular:
  Won't Fix
Status in gcc-13 source package in Oracular:
  Won't Fix
Status in gcc-14 source package in Oracular:
  Won't Fix
Status in gcc-11 source package in Plucky:
  Won't Fix
Status in gcc-13 source package in Plucky:
  Invalid
Status in gcc-14 source package in Plucky:
  Invalid
Status in gcc-11 source package in Questing:
  Fix Released
Status in gcc-13 source package in Questing:
  Invalid
Status in gcc-14 source package in Questing:
  Invalid
Status in gcc-11 source package in Resolute:
  Fix Released
Status in gcc-13 source package in Resolute:
  Invalid
Status in gcc-14 source package in Resolute:
  Invalid
Status in gcc-11 package in Debian:
  New

Bug description:
  [Impact]

  This bug causes data corruption in the ARM64 code compiled with Scalable Vector Extensions (SVE) enabled for the 256-bit SVE processor but executed on 128-bit SVE processors.
  Example is AWS workload built for Graviton3, but executed on Graviton4.

  When the compiler was compiling the ~ConstA (Not ConstA) expression to
  compute the index into the vector it was actually computing -ConstA
  (minus ConstA), e.g. ~4 instead of -5 produced -4.

  Graviton 4  processes a 256-bit vector in two passes. For the second
  pass it runs into this bug when computing indices into the second half
  of the vector and ends up with {-4, -5, -6, -7}, processing the last
  element of the first half twice and never touching the last element of
  the vector.

  This data corruption may cause data loss, failing checksums, and
  potentially security issues.

  [Test Plan]

  I was using Raspberry PI 5 for testing, but any other ARM64 platform
  or virtual machine will be sufficient.

  Install QEMU in noble:

  apt install qemu-user-static

  Launch lxd vm for the affected release, e.g.

  lxc launch ubuntu-daily:jammy tester
  lxc file push test.c tester/home/ubuntu/

  Install affected gcc:
  lxc exec tester -- /bin/sh -c "apt-get update && apt-get install -y gcc-9"

  Compile the reproducer[1]:
  lxc exec tester -- /bin/sh -c "gcc-9 -fno-inline -O3 -Wall -fno-strict-aliasing  -march=armv8.4-a+sve  -o /home/ubuntu/final /home/ubuntu/test.c”

  Fetch the reproducer:
  lxc file pull tester/home/ubuntu/final final

  Execute the testcase:
  qemu-aarch64-static -cpu neoverse-n2 ./final

  The testcase will output:
  PASS: got 0x00bbbbbb 0x00aaaaaa as expected
  If the bug is fixed and
  ERROR: expected 0x00bbbbbb 0x00aaaaaa but got 0x00bbbbbb 0xaaaaaa00
  otherwise.

  [Where the problems can occur]

  The issue is a typo in the code that is used to calculate offset into
  the vector.

  The already corrupted data (e.g. checksums) calculated by the affected
  code will not match with the values produced after the fix. This may
  cause the end user to rebuild the indices relying on the calculated
  hash values after their workloads are recompiled by the fixed gcc.

  [Other info]

  Focal fixes will be done through the -pro updates.

  I have ran the test case set Invalid for the versions that are not
  affected by this issue.

  Affected:
  All gcc-8[2]
  All gcc-9[2]
  All gcc-11[2]
  Noble and down Gcc-12
  Noble and down Gcc-13
  Noble and down Gcc-14
  Gcc-15 is not affected

  The fixed packages will be uploaded to the stable PPA[3] created for this SRU.
  The PPA depends on -security only. The packages will need to be binary-copied to -updates and -security.

  [1] https://bugs.launchpad.net/ubuntu/plucky/+source/gcc-14/+bug/2101084/comments/39
  [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118976#c21
  [3] https://launchpad.net/~ubuntu-toolchain-r/+archive/ubuntu/lp-2101084-again

  Original Description:

  [Impact]
  This issue affects SVE vectorization on arm64 platforms, specifically in cases where bitwise-not operations are applied during optimization.

  [Fix]
  This issue has been resolved by an upstream patch.

  commit 78380fd7f743e23dfdf013d68a2f0347e1511550
  Author: Richard Sandiford <richard.sandiford at arm.com>
  Date: Tue Mar 4 10:44:35 2025 +0000

      Fix folding of BIT_NOT_EXPR for POLY_INT_CST [PR118976]

      There was an embarrassing typo in the folding of BIT_NOT_EXPR for
      POLY_INT_CSTs: it used - rather than ~ on the poly_int.  Not sure
      how that happened, but it might have been due to the way that
      ~x is implemented as -1 - x internally.

      gcc/
              PR tree-optimization/118976
              * fold-const.cc (const_unop): Use ~ rather than - for BIT_NOT_EXPR.
              * config/aarch64/aarch64.cc (aarch64_test_sve_folding): New function.
              (aarch64_run_selftests): Run it.

  [Test Plan]
  1. Launch an instance using the latest generation of Graviton processors (Graviton4).
  2. Compile the following code using the command `gcc -O3 -march=armv8.1-a+sve`:

  #include <stdint.h>
  #include <stdio.h>

  #ifndef NCOUNTS
  #define NCOUNTS 2
  #endif
  typedef struct {
     uint32_t state[5];
     uint32_t count[NCOUNTS];
     unsigned char buffer[64];
  } SHA1_CTX;

  void finalcount_av(SHA1_CTX *restrict ctx, unsigned char *restrict finalcount) {
     // ctx->count is:  uint32_t count[2];
     int count_idx;
     for (int i = 0; i < 4*NCOUNTS; i++) {
         count_idx = (4*NCOUNTS - i - 1)/4; // generic but equivalent for NCOUNTS==2.
         finalcount[i] = (unsigned char)((ctx->count[count_idx] >> ((3-(i & 3)) * 8) ) & 255);
     }
  }

  void finalcount_bv(SHA1_CTX *restrict ctx, unsigned char *restrict finalcount) {
     for (int i=0; i < 4*NCOUNTS; i += 4) {
         int ci = (4*NCOUNTS - i - 1)/4;
         finalcount[i+0] = (unsigned char)((ctx->count[ci] >> (3 * 8) ) & 255);
         finalcount[i+1] = (unsigned char)((ctx->count[ci] >> (2 * 8) ) & 255);
         finalcount[i+2] = (unsigned char)((ctx->count[ci] >> (1 * 8) ) & 255);
         finalcount[i+3] = (unsigned char)((ctx->count[ci] >> (0 * 8) ) & 255);
     }
  }

  int main() {
     unsigned char fa[NCOUNTS*4];
     unsigned char fb[NCOUNTS*4];
     uint32_t *for_print;
     int i;

     SHA1_CTX ctx;
     ctx.count[0] = 0xaaaaaa00;
     ctx.count[1] = 0xbbbbbb00;
     if (NCOUNTS >2 ) ctx.count[2] = 0xcccccc00;
     if (NCOUNTS >3 ) ctx.count[3] = 0xdddddd00;
     finalcount_av(&ctx, fa);
     finalcount_bv(&ctx, fb);

     int ok = 1;
     for (i=0; i<NCOUNTS*4; i++) {
         ok &= fa[i] == fb[i];
     }
     if (!ok) {
         for_print = (uint32_t*)fb;
         printf("ERROR: expected ");
         for (i=0; i<NCOUNTS; i++) {
             printf("0x%08x ",for_print[i]);
         }
         for_print = (uint32_t*)fa;
         printf("but got ");
         for (i=0; i<NCOUNTS; i++) {
             printf("0x%08x ",for_print[i]);
         }
         printf("\n");
         return 1;
     } else {
         for_print = (uint32_t*)fa;
         printf("PASS: got ");
         for (i=0; i<NCOUNTS; i++) {
             printf("0x%08x ",for_print[i]);
         }
         printf("as expected\n");
         return 0;
     }
  }

  3. Verify that the execution output does not contain the string
  "ERROR".

  [Where problems could occur]
  The issue is caused by a typo. If any regressions occur, they are expected to impact only specific partial instructions under certain scenarios, rather than disrupting the overall functionality.

To manage notifications about this bug go to:
https://bugs.launchpad.net/gcc/+bug/2101084/+subscriptions




More information about the foundations-bugs mailing list