1 /* { dg-do compile { target int128 } } */ 2 /* { dg-options "-O3 -mno-lra" } */ 3 4 /* 2x lghi */ a()5__int128 a() { 6 return 0; 7 } 8 9 /* 2x lghi */ b()10__int128 b() { 11 return -1; 12 } 13 14 /* 2x lghi */ c()15__int128 c() { 16 return -2; 17 } 18 19 /* lghi + llilh */ d()20__int128 d() { 21 return 16000 << 16; 22 } 23 24 /* lghi + llihf */ e()25__int128 e() { 26 return (unsigned long long)80000 << 32; 27 } 28 29 /* lghi + llihf */ f()30__int128 f() { 31 return (unsigned __int128)80000 << 96; 32 } 33 34 /* llihf + llihf - this is handled via movti_bigconst pattern */ g()35__int128 g() { 36 return ((unsigned __int128)80000 << 96) | ((unsigned __int128)80000 << 32); 37 } 38 39 /* Literal pool */ h()40__int128 h() { 41 return ((unsigned __int128)80000 << 32) | 1; 42 } 43 44 /* Literal pool */ i()45__int128 i() { 46 return (((unsigned __int128)80000 << 32) | 1) << 64; 47 } 48