[Bug target/89752] [8/9 Regression] ICE in emit_move_insn, at expr.c:3723

wilco at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Mar 18 13:14:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89752

--- Comment #3 from Wilco <wilco at gcc dot gnu.org> ---
Full instruction:

(insn 531 530 532 19 (parallel [
            (set (mem/c:BLK (reg:DI 3842) [29 A0+0 S2 A64])
                (asm_operands:BLK ("") ("=rm") 0 [
                        (mem/c:BLK (reg:DI 3846) [29 A0+0 S2 A64])
                        (mem/c:BLK (reg:DI 3848) [29 A1+0 S2 A128])
                    ]
                     [
                        (asm_input:BLK ("0")
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418)
                        (asm_input:BLK ("1")
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418)
                    ]
                     []
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418))
            (set (mem/c:BLK (reg:DI 3844) [29 A1+0 S2 A128])
                (asm_operands:BLK ("") ("=rm") 1 [
                        (mem/c:BLK (reg:DI 3846) [29 A0+0 S2 A64])
                        (mem/c:BLK (reg:DI 3848) [29 A1+0 S2 A128])
                    ]
                     [
                        (asm_input:BLK ("0")
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418)
                        (asm_input:BLK ("1")
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418)
                    ]
                     []
external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h:1418))
        ])
"external/eigen_archive/unsupported/Eigen/CXX11/../../../Eigen/src/Core/products/GeneralBlockPanelKernel.h":1418:511
-1
     (nil))


I guess this comes from the source like this with some of the arguments being
immediates due to template substitution:

__asm__ ("" : [a0] "+rm" (A0),[a1] "+rm" (A1));

It's not obvious what this is supposed to achieve, let alone whether it is
valid...


More information about the Gcc-bugs mailing list