From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by sourceware.org (Postfix) with ESMTPS id 040253857BB3 for ; Sun, 13 Nov 2022 20:41:25 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 040253857BB3 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu Received: by mail-lf1-x134.google.com with SMTP id g7so16271767lfv.5 for ; Sun, 13 Nov 2022 12:41:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=9z9dXf5b4/Jh1SbWc5vfHUlNVVH753KOW3qxJTq6eOY=; b=LCKZyiDXUVk/cNi04I2PT7HFM4+uYpLTGittDQqtnQ9teU4bEDOeVNMF8HMpj7tniL sD+6BGhMtzNqmA3obKsUlZdbALlbdMmyqlnLglgbJZmfIhkF1cgEbj3GEWpnaqZfxyOq TgBFpmsi/zLFDzQNRSPAK6exlWchEDBTVEk2YXQ4UoBJ0JjGVL+cRys6XOyzoVp1/ky8 3a88fV5WiBDo0m3qcieoesRSFB9filYWEdM78WrV5eWSIR0F7/8U/d3n5/cgmQTv9W5l PvPbutLfygrwLZ5wdEuJJuI9zjTi5xusS+DsJQdAeg0EhEUJqjPup3vq7Gpf36pDdr6z yYNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=9z9dXf5b4/Jh1SbWc5vfHUlNVVH753KOW3qxJTq6eOY=; b=HAMX1QRdBkItRBeLDPikEM1w3ARb5qPy0UPMUSGaZRutwjdVtPH/hRdGQlpmPLlAhj F8NuKLB4SyK+hnKCj7shJ/jfJ8N/O/xjThjigBpLsj+94r6mjtCvoXZ9SXuAkNGd/rGo IvOsykMLOk2r4EANB3t22faPbb+rp9PtDoeJrSgE4nJH4xeGFbiS2+FRwjrJaBjrL7TI Efq1BlNgHIfOI+Ud0b8/EKL6F7BHgyQY2HMVkGfHN3rnnhxInuy+L2+KkXIJTVlGSzYD iVJEr8fUkXBpWvzmzaR49kj9YA0M+gBJXTsTwkHinV9BznTkpJgb0Mi/En1xXvetx7TX +Wlw== X-Gm-Message-State: ANoB5pnKWvsRI4JgzIp3AogYaUNqPg+odIgLlexvdAosSPsNSXx2EW0D 3F34GCavLbCkNELdh2wKD1bvkRNsclpJJ2Pq X-Google-Smtp-Source: AA0mqf7aXiDRNguuTc5GAd83tsdbTeKgXSCRNMBgh6cRgYWZnMR4SLxdyBTo8FG8Q2z5BtzcjSZYqQ== X-Received: by 2002:a05:6512:714:b0:4b3:d036:a268 with SMTP id b20-20020a056512071400b004b3d036a268mr3106196lfs.282.1668372083129; Sun, 13 Nov 2022 12:41:23 -0800 (PST) Received: from ubuntu-focal.. ([2a01:4f9:3a:1e26::2]) by smtp.gmail.com with ESMTPSA id g12-20020a2eb5cc000000b0027775fb1f6bsm1631023ljn.118.2022.11.13.12.41.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 13 Nov 2022 12:41:22 -0800 (PST) From: Philipp Tomsich To: gcc-patches@gcc.gnu.org Cc: Christoph Muellner , Palmer Dabbelt , Vineet Gupta , Kito Cheng , Jeff Law , Philipp Tomsich Subject: [PATCH] RISC-V: Use .p2align for code-alignment Date: Sun, 13 Nov 2022 21:41:18 +0100 Message-Id: <20221113204119.4061447-1-philipp.tomsich@vrull.eu> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-12.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,JMQ_SPF_NEUTRAL,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: RISC-V's .p2align (currently) ignores the max-skip argument. As we have experimental patches underway to address this in a backwards-compatible manner, let's prepare GCC for the day when binutils gets updated. gcc/ChangeLog: * config/riscv/riscv.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Implement. Signed-off-by: Philipp Tomsich --- gcc/config/riscv/riscv.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h index 2d0d170645c..c216173cf6b 100644 --- a/gcc/config/riscv/riscv.h +++ b/gcc/config/riscv/riscv.h @@ -938,6 +938,24 @@ typedef struct { fprintf (STREAM, "\t.word\t%sL%d-%sL%d\n", \ LOCAL_LABEL_PREFIX, VALUE, LOCAL_LABEL_PREFIX, REL) +#ifdef HAVE_GAS_MAX_SKIP_P2ALIGN +/* Support for -falign-* switches. Use .p2align to ensure that code + sections are padded with NOP instructions, rather than zeros. */ +#define ASM_OUTPUT_MAX_SKIP_ALIGN(FILE, LOG, MAX_SKIP) \ + do \ + { \ + if ((LOG) != 0) \ + { \ + if ((MAX_SKIP) == 0) \ + fprintf ((FILE), "\t.p2align %d\n", (int) (LOG)); \ + else \ + fprintf ((FILE), "\t.p2align %d,,%d\n", \ + (int) (LOG), (int) (MAX_SKIP)); \ + } \ + } while (0) + +#endif /* HAVE_GAS_MAX_SKIP_P2ALIGN */ + /* This is how to output an assembler line that says to advance the location counter to a multiple of 2**LOG bytes. */ -- 2.34.1