blob: cc52a62182b67eb2eb0868b28964375fec539a8e [file] [log] [blame]
/* { dg-do compile { target int128 } } */
/* { dg-options "-O3" } */
/* 2x lghi */
__int128 a() {
return 0;
}
/* 2x lghi */
__int128 b() {
return -1;
}
/* 2x lghi */
__int128 c() {
return -2;
}
/* lghi + llilh */
__int128 d() {
return 16000 << 16;
}
/* lghi + llihf */
__int128 e() {
return (unsigned long long)80000 << 32;
}
/* lghi + llihf */
__int128 f() {
return (unsigned __int128)80000 << 96;
}
/* llihf + llihf - this is handled via movti_bigconst pattern */
__int128 g() {
return ((unsigned __int128)80000 << 96) | ((unsigned __int128)80000 << 32);
}
/* Literal pool */
__int128 h() {
return ((unsigned __int128)80000 << 32) | 1;
}
/* Literal pool */
__int128 i() {
return (((unsigned __int128)80000 << 32) | 1) << 64;
}