From e026346495f31dd1921779f73c86d5a0fb5c5f96 Mon Sep 17 00:00:00 2001 From: winstonallo Date: Mon, 13 Oct 2025 16:12:26 +0200 Subject: [PATCH 1/4] Add jit_target_dependent_types_init function to jit-target.cc --- gcc/jit/jit-target.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gcc/jit/jit-target.cc b/gcc/jit/jit-target.cc index 40b47971c44c2..031b7e7959135 100644 --- a/gcc/jit/jit-target.cc +++ b/gcc/jit/jit-target.cc @@ -36,12 +36,35 @@ along with GCC; see the file COPYING3. If not see /* Initialize all variables of the Target structure. */ +void +jit_target_dependent_types_init() +{ + if (targetm.scalar_mode_supported_p (TImode)) + { + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_UINT128_T); + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_INT128_T); + } + + if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); + + if (float32_type_node != NULL && TYPE_PRECISION(float32_type_node) == 32) + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT32); + + if (float64_type_node != NULL && TYPE_PRECISION(float64_type_node) == 64) + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT64); + + if (float128_type_node != NULL && TYPE_PRECISION(float128_type_node) == 128) + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT128); +} + void jit_target_init () { /* Initialize target info tables, the keys required by the language are added last, so that the CPU handler can override. */ targetjitm.jit_register_cpu_target_info (); + jit_target_dependent_types_init(); } /* Add a target info key:value to JIT_TARGET_INFO for use by From a3876e95439a2df068dda617fb6154b508b597f8 Mon Sep 17 00:00:00 2001 From: winstonallo Date: Mon, 13 Oct 2025 16:15:41 +0200 Subject: [PATCH 2/4] Remove target-dependent type initializations from {aarch64,i386}-jit.cc --- gcc/config/aarch64/aarch64-jit.cc | 18 ------------------ gcc/config/i386/i386-jit.cc | 18 ------------------ 2 files changed, 36 deletions(-) diff --git a/gcc/config/aarch64/aarch64-jit.cc b/gcc/config/aarch64/aarch64-jit.cc index 26ed3ea485aa1..e6c0ca5f18fe5 100644 --- a/gcc/config/aarch64/aarch64-jit.cc +++ b/gcc/config/aarch64/aarch64-jit.cc @@ -58,24 +58,6 @@ aarch64_jit_register_target_info (void) } #endif - if (targetm.scalar_mode_supported_p (TImode)) - { - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_UINT128_T); - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_INT128_T); - } - - if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); - - if (float32_type_node != NULL && TYPE_PRECISION(float32_type_node) == 32) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT32); - - if (float64_type_node != NULL && TYPE_PRECISION(float64_type_node) == 64) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT64); - - if (float128_type_node != NULL && TYPE_PRECISION(float128_type_node) == 128) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT128); - if (TARGET_AES) jit_add_target_info ("target_feature", "aes"); if (TARGET_BF16_FP) diff --git a/gcc/config/i386/i386-jit.cc b/gcc/config/i386/i386-jit.cc index 3f14c29372eb9..318e7a8124e86 100644 --- a/gcc/config/i386/i386-jit.cc +++ b/gcc/config/i386/i386-jit.cc @@ -59,24 +59,6 @@ ix86_jit_register_target_info (void) } #endif - if (targetm.scalar_mode_supported_p (TImode)) - { - jit_target_add_supported_target_dependent_type (GCC_JIT_TYPE_UINT128_T); - jit_target_add_supported_target_dependent_type (GCC_JIT_TYPE_INT128_T); - } - - if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); - - if (float32_type_node != NULL && TYPE_PRECISION(float32_type_node) == 32) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT32); - - if (float64_type_node != NULL && TYPE_PRECISION(float64_type_node) == 64) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT64); - - if (float128_type_node != NULL && TYPE_PRECISION(float128_type_node) == 128) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT128); - #define ADD_TARGET_INFO jit_add_target_info #include "i386-rust-and-jit.inc" #undef ADD_TARGET_INFO From 90a20e66341bf408acf3bdbbc67eb79eea414f18 Mon Sep 17 00:00:00 2001 From: winstonallo Date: Mon, 13 Oct 2025 16:20:21 +0200 Subject: [PATCH 3/4] Update patch to disable 128-bit integers in tests --- ...28-bit-integers-for-testing-purposes.patch | 76 +++++++------------ 1 file changed, 28 insertions(+), 48 deletions(-) diff --git a/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch b/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch index 92f5acee44256..229c34cf63386 100644 --- a/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch +++ b/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch @@ -1,52 +1,15 @@ -From d2e88f702bd04cdfc0e63941c2d831adb5a4bf42 Mon Sep 17 00:00:00 2001 -From: Antoni Boucher -Date: Wed, 8 Oct 2025 13:51:23 -0400 +From e52b7a97f7114d79b0c2ec2860ca669730c5ffbe Mon Sep 17 00:00:00 2001 +From: winstonallo +Date: Mon, 13 Oct 2025 16:17:36 +0200 Subject: [PATCH] Disable 128-bit integers for testing purposes --- - gcc/config/aarch64/aarch64-jit.cc | 4 ++-- - gcc/config/i386/i386-jit.cc | 4 ++-- - gcc/jit/jit-playback.cc | 8 ++++---- - 3 files changed, 8 insertions(+), 8 deletions(-) + gcc/jit/jit-playback.cc | 8 ++++---- + gcc/jit/jit-target.cc | 4 ++-- + 2 files changed, 6 insertions(+), 6 deletions(-) -diff --git a/gcc/config/aarch64/aarch64-jit.cc b/gcc/config/aarch64/aarch64-jit.cc -index 26ed3ea485a..64efae92c3a 100644 ---- a/gcc/config/aarch64/aarch64-jit.cc -+++ b/gcc/config/aarch64/aarch64-jit.cc -@@ -58,11 +58,11 @@ aarch64_jit_register_target_info (void) - } - #endif - -- if (targetm.scalar_mode_supported_p (TImode)) -+ /*if (targetm.scalar_mode_supported_p (TImode)) - { - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_UINT128_T); - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_INT128_T); -- } -+ }*/ - - if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); -diff --git a/gcc/config/i386/i386-jit.cc b/gcc/config/i386/i386-jit.cc -index 3f14c29372e..23861d470d9 100644 ---- a/gcc/config/i386/i386-jit.cc -+++ b/gcc/config/i386/i386-jit.cc -@@ -59,11 +59,11 @@ ix86_jit_register_target_info (void) - } - #endif - -- if (targetm.scalar_mode_supported_p (TImode)) -+ /*if (targetm.scalar_mode_supported_p (TImode)) - { - jit_target_add_supported_target_dependent_type (GCC_JIT_TYPE_UINT128_T); - jit_target_add_supported_target_dependent_type (GCC_JIT_TYPE_INT128_T); -- } -+ }*/ - - if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) - jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); diff --git a/gcc/jit/jit-playback.cc b/gcc/jit/jit-playback.cc -index 4da3156af74..2593288c5ee 100644 +index 4da3156af74..e6c88e9c6f1 100644 --- a/gcc/jit/jit-playback.cc +++ b/gcc/jit/jit-playback.cc @@ -250,8 +250,8 @@ get_tree_node_for_type (enum gcc_jit_types type_) @@ -56,7 +19,7 @@ index 4da3156af74..2593288c5ee 100644 - if (targetm.scalar_mode_supported_p (TImode)) - return uint128_type_node; + /*if (targetm.scalar_mode_supported_p (TImode)) -+ return uint128_type_node;*/ ++ return uint128_type_node;*/ add_error (NULL, "gcc_jit_types value unsupported on this target: %i", type_); @@ -67,10 +30,27 @@ index 4da3156af74..2593288c5ee 100644 - if (targetm.scalar_mode_supported_p (TImode)) - return intTI_type_node; + /*if (targetm.scalar_mode_supported_p (TImode)) -+ return intTI_type_node;*/ ++ return intTI_type_node;*/ add_error (NULL, "gcc_jit_types value unsupported on this target: %i", type_); +diff --git a/gcc/jit/jit-target.cc b/gcc/jit/jit-target.cc +index 031b7e79591..16983301ce9 100644 +--- a/gcc/jit/jit-target.cc ++++ b/gcc/jit/jit-target.cc +@@ -39,11 +39,11 @@ along with GCC; see the file COPYING3. If not see + void + jit_target_dependent_types_init() + { +- if (targetm.scalar_mode_supported_p (TImode)) ++ /*if (targetm.scalar_mode_supported_p (TImode)) + { + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_UINT128_T); + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_INT128_T); +- } ++ }*/ + + if (float16_type_node != NULL && TYPE_PRECISION(float16_type_node) == 16) + jit_target_add_supported_target_dependent_type(GCC_JIT_TYPE_FLOAT16); -- -2.51.0 - +2.43.0 From 63efd2089cde2f7d8ef3c1ac4504683e9dc954fb Mon Sep 17 00:00:00 2001 From: Arthur Bied-Charreton <136271426+winstonallo@users.noreply.github.com> Date: Mon, 13 Oct 2025 16:55:44 +0200 Subject: [PATCH 4/4] Update email address in patch --- .../0001-Disable-128-bit-integers-for-testing-purposes.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch b/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch index 229c34cf63386..d78647f6d977b 100644 --- a/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch +++ b/patches/0001-Disable-128-bit-integers-for-testing-purposes.patch @@ -1,5 +1,5 @@ From e52b7a97f7114d79b0c2ec2860ca669730c5ffbe Mon Sep 17 00:00:00 2001 -From: winstonallo +From: winstonallo Date: Mon, 13 Oct 2025 16:17:36 +0200 Subject: [PATCH] Disable 128-bit integers for testing purposes