Mercurial > hg > CbC > CbC_gcc
annotate gcc/testsuite/gcc.dg/pr87047.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
rev | line source |
---|---|
145 | 1 /* { dg-do compile { target { { i?86-*-* x86_64-*-* } && { ! ia32 } } } } */ |
2 /* { dg-options "-fdump-rtl-ce1 -O2" } */ | |
3 | |
4 typedef unsigned long long uint64_t; | |
5 | |
6 static uint64_t umulh(uint64_t a, uint64_t b) | |
7 { | |
8 return (unsigned __int128)a*b >> 64; | |
9 } | |
10 | |
11 uint64_t f(uint64_t a, uint64_t b, int c) | |
12 { | |
13 if (c) | |
14 a = umulh(a, (b-umulh(a,b))<<44) << 1; | |
15 return a; | |
16 } | |
17 | |
18 /* { dg-final { scan-rtl-dump "0 true changes made" "ce1" } } */ | |
19 /* { dg-final { scan-assembler-not "cmov" } } */ |