From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-DBA-obe.outbound.protection.outlook.com (mail-dbaeur03olkn2059.outbound.protection.outlook.com [40.92.58.59]) by sourceware.org (Postfix) with ESMTPS id 4CF303856DF8 for ; Tue, 15 Aug 2023 11:37:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4CF303856DF8 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=hotmail.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=hotmail.de ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cumbvDxdlft8DOaKAvbJU8w2uWVSBRj8uhJ8MVQOdMTua5AW2UBhLpP44OUQaepKhPu2UIjQyBPbDKXrIrRyfKg9fP4NAb3wSMGLU+kWJY+CDwHJx3F2zPDlaZlvGe+kJFhCTk7qCOvdTsbKjkKnDfZQ8oqyMlrVlicfrghCjtZndoLOLXYRqeVtpIv71RZo0yHqqTzX81G4KW7LjozXY3qI69zNGIGI8ycPylo42WQVxTO355PAOZ0HnWlL+8bJSEsxmpqBA94P/+jbK1gLEpZI7XC6x13hMSrnzLlLqv2DewvWiQOrvOmcmtGGim8QjvVXyldKNXV1jmwe4pnLrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=tq1wEU1yCkzxwK/TPjmBBewC+jkAFKg8Qg4XTO7hcN0=; b=QL5mWqFVyreGMW+1chx1GXuMSgYRCZ06K/MUOHAO75GH1bTBAxA4hkAs2yAcMqhmKV4EfsHBHVumSIG8SRu5B/OZwQvMJ/lz7sOj1Co/CZSuaYFIJt/lJ3KnBsUvJ2ZFNhT0qvZDB+5WHsbQt5dv9tDUUbwI7ergIItrZnc6L0oTVPjUk0bPTIpZXRoww059I18phioIFX5Opht0hgX6dIqM+ArabNTX9D66Mmmt2Oqwf1GfdwBxPfHWQeIFXHOeOrBGu+URNR58nAd6fvK1ov1p0ddf1hoqSqncCTO7IMeQXfqZE32xoCpIkewnnU8a7VqvWd2l5zdDqS5Gr7KIKw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none Received: from DU0PR03MB9729.eurprd03.prod.outlook.com (2603:10a6:10:44f::14) by GV1PR03MB8766.eurprd03.prod.outlook.com (2603:10a6:150:89::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6678.24; Tue, 15 Aug 2023 11:37:44 +0000 Received: from DU0PR03MB9729.eurprd03.prod.outlook.com ([fe80::db56:e4e2:dff0:1]) by DU0PR03MB9729.eurprd03.prod.outlook.com ([fe80::db56:e4e2:dff0:1%5]) with mapi id 15.20.6678.025; Tue, 15 Aug 2023 11:37:44 +0000 Message-ID: Date: Tue, 15 Aug 2023 13:37:42 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.14.0 Content-Language: de-DE, en-US From: MegaIng To: gcc@gcc.gnu.org Subject: Porting to a custom ISA Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-TMN: [WU0bGl3kx2Eh1PfnNsFFTCcgLlTNbiMF] X-ClientProxiedBy: FR2P281CA0049.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:92::9) To DU0PR03MB9729.eurprd03.prod.outlook.com (2603:10a6:10:44f::14) X-Microsoft-Original-Message-ID: <9283357c-f17b-34f1-d00b-e23c7a8d6012@hotmail.de> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DU0PR03MB9729:EE_|GV1PR03MB8766:EE_ X-MS-Office365-Filtering-Correlation-Id: 9757101c-0cfb-444d-81c1-08db9d840a9b X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oHWBInt3+mSxBPAaUlFkfkqZanCQGHHb42S1EPuwEq6CLF5ki+h5TyNudQhMwFZ0OM6BgRG9PHir7+MljLR45TrChEDMBg72+U73JdIi1l+sPtGdlDZR3sQSxIS3C9nEy5TewRvNhBLaxLkaAAPX4bqpNdivF7HRlh8HUi+C6KfEIk1OsTKqW4KAcz566CzjK6ZkjXIab1mnPqunDp0+IvlsbyD8fYt5T9oV6+ctJWJyg2iOiHNzEFmQHIduTt/jS0PCrfjdvVbZfkxCRnbCKAo71wwoxhJ5hlWw/thqxUuZv7EG4xjTU2v+c27n3XlEXmV8m9gt3s9IrqNtJ9pj3LaP5xqwulTiLPg+iBg+fBs+dutyHqVHIGePtR0k5b8+tOLwUwC7zn8FyQ7IHOrZMmbULAs9MnkcgroT046mQD8evNS3WF5W8u2OF55mYoBGGpJKKH1vvwZPsFgU3SoWwSjGkfE8gH8aSdtNmRr0an6/928m5/HVPMgSOMyfVB/QTziIDv7fLkhysKRqiNg8bVRVwbN0KYaxvfyl0l0me6p2tYZ+dlEyT1g5AQmM4728 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?NUtjZyttVXFURHgzeDExWDJBMHVLY2ZxWTlWa2Q2eGlReHpoVkZXZ0pVb1g2?= =?utf-8?B?K0V5OENKRlBmYlRXaDBSSUpTYmh0eE1QVzkrTy82dlljVUVsNDltQnN1aW5T?= =?utf-8?B?Szg0SHdaTCtjZjF3RVNRYXRPR2xhOVc1QVdnTVRlWHpRbGVCeGpRWW9rQXdj?= =?utf-8?B?TDByZTB4QlFqaTl5cFFsWFE0ZlhXU3JmbFdoaXRUcWtHZmRJU1ppem1tZDB3?= =?utf-8?B?OGhMYXpMcWFuUU5qZlIrOTM2N1RZWjVmZlNPMUl2UjZXUnUvTzFrMnNkeHNE?= =?utf-8?B?c0NTeVliYytNQjhYZ09aM3dXdEhOdXJWV0pRVzlzelV4aEVxVFBSRGd3WThW?= =?utf-8?B?UEZKZExMOUxncEpiUUNDTzJnWVlMR3dVaE82T2tpQXgyeVI2SVFXRzJSWG5N?= =?utf-8?B?cmxiU2REL0g0Z0hWOGZtaGFWdGlFZCtNQkY1VDNYaVZmV1phVmNWR1JlYmR4?= =?utf-8?B?MkZOUEh6TlUraHkydWdMNU0vcVVlM1V6YzBBdExDL0hOWkRXVVNHVXFiNkdk?= =?utf-8?B?alVtSURwMm5rR3FWT3k1a3hvVjFlUzg0VS9GM2pZS2EweEgvWlo1VmhldXgv?= =?utf-8?B?ZkxXY3N5NnVYNWFPR2Z3QXc0TWpqZGxKV2pMSFBUY05MTFZGbE1heGwzUW5U?= =?utf-8?B?eVB2MWp5YlRKSzFML1BWMngyREZRYlRYRWs1Wjl1M3lyMGZQc0x1bUxDZjg2?= =?utf-8?B?NUIrWElCMWhvZ3ZLT3h2WTZzdU95QnJRSzllOTAvSzBmN2MwQTgzdElYeTNh?= =?utf-8?B?dnc0TmJBNzBjU21tY2VFZGRzVjVoWkIvSTAzeTZCeTRYaS9STjljM2s5UktP?= =?utf-8?B?eHd5eDFRN1lCZ2FMKytqQXppSEtRTklmWUVQSWtRMGswOFJ3Rys3L0pEL0Fl?= =?utf-8?B?QTI0NERNUGYwRytyRFJ3YXh1K0x3YVlRTlFWVHV6d0dYSGY1aU9kU3UvTEtK?= =?utf-8?B?TW9LUVo4amFOdS9JZHptaXdYR2xyRzVaNDNkTm5pTkM2QzJZSjBra2UxTG9N?= =?utf-8?B?ckxLMXRCV2FScFBZekJvQVpZR1pZQW9FQ21qUEhjRk13bE9OMDd4VDNtS1NU?= =?utf-8?B?dE1pNk8zbHoweG51NkNsSmN1aVBWQ2J6bkR1UjVqUy9pbncyNzdLak56Zks4?= =?utf-8?B?bTFNakw2aHNqaHZkY2RsK2ZkMVBCeWJnbnVQSzlFYTI3aW5HOXdJVXdKUUFm?= =?utf-8?B?cUJGNVc5K1MrbWUrRmQ2MThoRW1jOW1xMWsvaDVxckdHQ2U3RVBOWnRpanJo?= =?utf-8?B?TW1SSzljZDE3eXgydjk4ZHZub2dpMGFiR2tRamdaVU5TRjEwK1d4bCtzK1RR?= =?utf-8?B?SHMvNGkvdndWdHhYYmlMLzZJQWpWc2VvaDZCUjhoWGJtVlpoMlpaOTBlQUhH?= =?utf-8?B?NUtEdEJCQmx1aUlXTmVvdHZHUFlwTmZRYVh3c2V0UUVKVjhrdVVRMkU2SjNN?= =?utf-8?B?bVZPQUZWWlFRdE1LZk1ndmZHUElUSHgwcXFTUnFEQ2ZJazRnZ09vTUVyMDVY?= =?utf-8?B?RzIyRnkwb3NwVS8rZHBCM2NNbUlwVjR0QzV4eklXZjVZNTk0TUR4aWNYMWdG?= =?utf-8?B?aUtmdGVOeU1lc3JJZlRvU3paWTVwTlNZZjdVdjBHUE5qdTlKWDdjRlBkV3hk?= =?utf-8?B?dUtTUU92VzhqcUtkRmkxSEx0c1NUaHc9PQ==?= X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-76d7b.templateTenant X-MS-Exchange-CrossTenant-Network-Message-Id: 9757101c-0cfb-444d-81c1-08db9d840a9b X-MS-Exchange-CrossTenant-AuthSource: DU0PR03MB9729.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2023 11:37:44.6259 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8766 X-Spam-Status: No, score=-0.6 required=5.0 tests=BAYES_00,FORGED_MUA_MOZILLA,FREEMAIL_FROM,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hello everyone, I am currently in the process of porting gcc to an ISA I designed with a few others (spec [1]). Using the old ggx/moxie tutorial as a guideline and looking at the source of other backends, as well as the quite decent gccint document, I managed to get basic programs running (binutils, especially gas, was also not too hard to get running). I am now partially writing here because the gccint documents tells me to do this (I am unsure if our project will ever be mature enough to be added to gcc, but I don't think it hurts to strive for that), and partially because I do need a bit of help with some stuff that I can't find documentation for. One of the big challenges I am facing is that for our backend we sometimes support 16bit as the max size a CPU supports, including for pointers, and sometimes 32bit or 64bit. Am I seeing it correctly that POINTER_SIZE has to be a compile time constant and can therefore not easily be changed by the backend during compilation based on command line arguments? Also, on another backend I saw comments relating to libgcc (or newlib?) not working that well on systems where int is 16bit. Is that still true, and what is the best workaround? And a bit more concrete with something I am having a hard time debugging. I am getting errors `invalid_void`, seemingly triggered by an absent of `gen_return` when compiling with anything higher than -O0. How do I correctly provide an implementation for that? Or disable it's usage? Our epilogue is non-trivial, and it doesn't look like the other backends use something like `(define_insn "return" ...)`. Many thanks in advance, MegaIng [1]: https://github.com/ETC-A/etca-spec