/* PR rtl-optimization/70467 */ /* { dg-do compile { target int128 } } */ /* { dg-options "-O2" } */ __uint128_t foo (__uint128_t x) { return x + ((__uint128_t) 123456 << 64); } __uint128_t bar (__uint128_t x) { return x - ((__uint128_t) 123456 << 64); } /* Make sure there are no unnecessary additions with carry. */ /* { dg-final { scan-assembler-not "adcq\[^\n\r\]*%" } } */ /* { dg-final { scan-assembler-not "sbbq\[^\n\r\]*%" } } */