Changes from v5: 1. Fixes based on Jakub's review on v5.
2. Not including patches already approved. (Except for patch 4, which is here so that it's easier to commit if the series is OK for trunk.) This series was bootstrapped and tested on x86_64-linux-gnu and loongarch64-linux-gnu. Yang Yujie (4): bitint: Avoid extending ABI-extended large/huge _BitInts on load bitint: Make sure BEXTC checks extension when optimized bitint: Zero-extend the result of a signed->unsigned widening cast bitint: Do not optimize away conversion to _BitInt before a VCE gcc/gimple-lower-bitint.cc | 46 +++++++++++++++++++---- gcc/match.pd | 19 +++++++++- gcc/testsuite/gcc.dg/bitintext.h | 28 +++++++------- gcc/testsuite/gcc.dg/torture/bitint-83.c | 48 ++++++++++++++++++++++++ gcc/testsuite/gcc.dg/torture/bitint-84.c | 18 +++++++++ 5 files changed, 134 insertions(+), 25 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/torture/bitint-83.c create mode 100644 gcc/testsuite/gcc.dg/torture/bitint-84.c -- 2.46.0