From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 2E0643858D28; Wed, 15 Dec 2021 09:16:13 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 2E0643858D28 From: "clyon at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug target/103729] New: ls64 tests fail on aarch64 with -mabi=ilp32 and aarch64_be Date: Wed, 15 Dec 2021 09:16:13 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: new X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: target X-Bugzilla-Version: 12.0 X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: clyon at gcc dot gnu.org X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Resolution: X-Bugzilla-Priority: P3 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Flags: X-Bugzilla-Changed-Fields: bug_id short_desc product version bug_status bug_severity priority component assigned_to reporter target_milestone Message-ID: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated MIME-Version: 1.0 X-BeenThere: gcc-bugs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-bugs mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 15 Dec 2021 09:16:13 -0000 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D103729 Bug ID: 103729 Summary: ls64 tests fail on aarch64 with -mabi=3Dilp32 and aarch64_be Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: clyon at gcc dot gnu.org Target Milestone: --- Hi Przemyslaw, I have noticed that your recent patch r12-5955 (Add LS64 extension and intrinsics) introduced a few failures in the tests you added. On aarch64-none-elf -mabi=3Dilp32: gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-2.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-2.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-3.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld_st_o= 0.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld_st_o= 0.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 2.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 2.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 3.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -2.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -2.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -3.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv0.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv0.c (test for excess errors) with eg: Excess errors: during RTL pass: expand /aci-gcc-fsf/builds/gcc-fsf-gccsrc/obj-aarch64-none-elf/gcc3/gcc/include/ar= m_acle.h:227:10: internal compiler error: in maybe_legitimize_operand, at optabs.c:7717 0xd24324 maybe_legitimize_operand /gcc/optabs.c:7716 0xd24324 maybe_legitimize_operands(insn_code, unsigned int, unsigned int, expand_operand*) /gcc/optabs.c:7853 0xd2435d maybe_gen_insn(insn_code, unsigned int, expand_operand*) /gcc/optabs.c:7872 0xd245a8 maybe_expand_insn(insn_code, unsigned int, expand_operand*) /gcc/optabs.c:7915 0xd23b48 expand_insn(insn_code, unsigned int, expand_operand*) /gcc/optabs.c:7946 0x132b5f0 aarch64_expand_builtin_ls64 /gcc/config/aarch64/aarch64-builtins.c:2220 0x132b5f0 aarch64_general_expand_builtin(unsigned int, tree_node*, rtx_def*, int) /gcc/config/aarch64/aarch64-builtins.c:2519 0x8a9534 expand_builtin(tree_node*, rtx_def*, rtx_def*, machine_mode, int) /gcc/builtins.c:6885 0xa2b3e5 expand_expr_real_1(tree_node*, rtx_def*, machine_mode, expand_modifier, rtx_def**, bool) /gcc/expr.c:11533 0x8da30c expand_expr /gcc/expr.h:301 0x8da30c expand_call_stmt /gcc/cfgexpand.c:2831 0x8da30c expand_gimple_stmt_1 /gcc/cfgexpand.c:3864 0x8da30c expand_gimple_stmt /gcc/cfgexpand.c:4028 0x8db4cc expand_gimple_tailcall /gcc/cfgexpand.c:4074 0x8db4cc expand_gimple_basic_block /gcc/cfgexpand.c:6046 0x8dd871 execute /gcc/cfgexpand.c:6795 On aarch64_be-none-elf: gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_asm= .c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_asm= .c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-3.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b-3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld6= 4b.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld_st_o= 0.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_ld_st_o= 0.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4b-2.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4b-2.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4b.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4b.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 2.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 2.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 3.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv-= 3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -2.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -2.c (test for excess errors) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -3.c (internal compiler error) =20=20=20 gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st64bv0= -3.c (test for excess errors) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv0.c (internal compiler error) gcc:gcc.target/aarch64/acle/acle.exp=3Dgcc.target/aarch64/acle/ls64_st6= 4bv0.c (test for excess errors) with eg: /gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c:19:1: error: unrecognizab= le insn: (insn 7 8 0 2 (set (mem:V8DI (reg/v/f:DI 92 [ output ]) [1 *output_2(D)+0 S= 64 A64]) (reg:V8DI 94)) "/gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c":= 15:5 -1 (nil)) during RTL pass: vregs /gcc/testsuite/gcc.target/aarch64/acle/ls64_asm.c:19:1: internal compiler error: in extract_insn, at recog.c:2769 0x6b2b00 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) /gcc/rtl-error.c:108 0x6b2b1c _fatal_insn_not_found(rtx_def const*, char const*, int, char const= *) /gcc/rtl-error.c:116 0xdbf917 extract_insn(rtx_insn*) /gcc/recog.c:2769 0xaa3a1d instantiate_virtual_regs_in_insn /gcc/function.c:1611 0xaa3a1d instantiate_virtual_regs /gcc/function.c:1985 0xaa3a1d execute /gcc/function.c:2034=