commit 2f64feff1b6fae46b89935446c0c27a90d6fa0f4 parent 8440ab571797c9c35477c6d268671434fe56989e Author: Ryan Sepassi <rsepassi@gmail.com> Date: Wed, 17 Jun 2026 12:07:44 -0700 test/parse: skip i128 + binary128 long-double cases on arm32 arm32 is INT128=0 (32-bit target, parser rejects __int128 with a target gate) and its long double is double-aliased (8-byte), not IEEE-754 binary128. The 14 i128_* and 15 ldbl128_* corpus cases assert those unsupported semantics, so add .arm32.skip sidecars mirroring the existing .rv32.skip set (rv32 shares both constraints). Drops the freestanding-arm32 parse lane from 89 to 33 'failures' that were really unsupported-by-design. Diffstat:
29 files changed, 29 insertions(+), 0 deletions(-)
diff --git a/test/parse/cases/i128_01_layout.arm32.skip b/test/parse/cases/i128_01_layout.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_02_literal_storage.arm32.skip b/test/parse/cases/i128_02_literal_storage.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_03_add_sub_carry.arm32.skip b/test/parse/cases/i128_03_add_sub_carry.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_04_mul_high_half.arm32.skip b/test/parse/cases/i128_04_mul_high_half.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_05_div_mod.arm32.skip b/test/parse/cases/i128_05_div_mod.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_06_shifts_bitwise.arm32.skip b/test/parse/cases/i128_06_shifts_bitwise.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_07_compare.arm32.skip b/test/parse/cases/i128_07_compare.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_08_signed_shift_convert.arm32.skip b/test/parse/cases/i128_08_signed_shift_convert.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_09_call_return.arm32.skip b/test/parse/cases/i128_09_call_return.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_10_struct_storage.arm32.skip b/test/parse/cases/i128_10_struct_storage.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_11_union_lanes.arm32.skip b/test/parse/cases/i128_11_union_lanes.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_12_global_init.arm32.skip b/test/parse/cases/i128_12_global_init.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_13_signed_div_mod.arm32.skip b/test/parse/cases/i128_13_signed_div_mod.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/i128_14_arbitrary_mul.arm32.skip b/test/parse/cases/i128_14_arbitrary_mul.arm32.skip @@ -0,0 +1 @@ +__int128 is not supported on arm32 (32-bit target, INT128=0); the parser rejects it with a target gate diff --git a/test/parse/cases/ldbl128_01_layout_macros.arm32.skip b/test/parse/cases/ldbl128_01_layout_macros.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_02_literal_to_int.arm32.skip b/test/parse/cases/ldbl128_02_literal_to_int.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_03_arith.arm32.skip b/test/parse/cases/ldbl128_03_arith.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_04_conversions.arm32.skip b/test/parse/cases/ldbl128_04_conversions.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_05_compare.arm32.skip b/test/parse/cases/ldbl128_05_compare.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_06_call_return.arm32.skip b/test/parse/cases/ldbl128_06_call_return.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_07_struct_storage.arm32.skip b/test/parse/cases/ldbl128_07_struct_storage.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_08_literal_bits.arm32.skip b/test/parse/cases/ldbl128_08_literal_bits.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_09_global_init.arm32.skip b/test/parse/cases/ldbl128_09_global_init.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_10_unary_neg.arm32.skip b/test/parse/cases/ldbl128_10_unary_neg.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_11_array_copy.arm32.skip b/test/parse/cases/ldbl128_11_array_copy.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_12_stack_args.arm32.skip b/test/parse/cases/ldbl128_12_stack_args.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_13_mixed_arith.arm32.skip b/test/parse/cases/ldbl128_13_mixed_arith.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_14_struct_return.arm32.skip b/test/parse/cases/ldbl128_14_struct_return.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113) diff --git a/test/parse/cases/ldbl128_15_arbitrary_mul.arm32.skip b/test/parse/cases/ldbl128_15_arbitrary_mul.arm32.skip @@ -0,0 +1 @@ +arm32 long double is double-aliased (8-byte), not IEEE-754 binary128; this case asserts binary128 layout/semantics (sizeof==16, MANT_DIG==113)