From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 48) id 0D8283858D1E; Thu, 18 Jan 2024 19:08:03 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0D8283858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gcc.gnu.org; s=default; t=1705604883; bh=b+YQb7kH2jYOITVfYzmVfEuJ5wgJ2xNnhXAasKk4hUc=; h=From:To:Subject:Date:In-Reply-To:References:From; b=k42aIROq1QLH1RoElo5bHkaSbE5PveOPp+KJIkFMD7viNtg0TIMweggOof2Cib4zo ua+lluQj1WhIlPTp8S63UTDIZM5Ivtgu9rbpHO8y9OrKyKd2kEYKgmFVIUDEkT+Vxf 2yhzs9s+9rJM6vzIKiwl8GXT+8WOgUJ7NZPUfLHo= From: "gjl at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug debug/113481] avr: internal compiler error in decompose, at rtl.h:2298 Date: Thu, 18 Jan 2024 19:08:02 +0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: debug X-Bugzilla-Version: 14.0 X-Bugzilla-Keywords: ice-checking, ice-on-valid-code X-Bugzilla-Severity: normal X-Bugzilla-Who: gjl 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: Message-ID: In-Reply-To: References: 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 List-Id: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D113481 --- Comment #5 from Georg-Johann Lay --- Here is a somewhat reduced test: /* { dg-do run } */ /* { dg-options "-g -O2" } */ typedef __UINT8_TYPE__ uint8_t; typedef __uint24 uint24_t; #define BBB 23 #define INC 1 #define VAL 0xcccccc uint8_t Afun5 (uint24_t num) { uint8_t b =3D 0; __asm ("sbrc %T1%T2 $ subi %0,%n3" : "+d" (b) : "r" (num), "n" (BBB), "n" (INC)); return b; } uint8_t Cfun5 (uint24_t num) { uint8_t b =3D 0; if (num & ((uint24_t) 1 << BBB)) b +=3D INC; return b; } int main (void) { if (Afun5 (VAL) !=3D Cfun5 (VAL)) __builtin_abort(); return 0; }=