13883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// This file can be used to see what a native C compiler is generating for a 23883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// variety of interesting operations. 33883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// 43883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher// RUN: %clang_cc1 -emit-llvm %s -o - 53883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 63883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherunsigned int udiv(unsigned int X, unsigned int Y) { 73883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X/Y; 83883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 93883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherint sdiv(int X, int Y) { 103883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X/Y; 113883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 123883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherunsigned int urem(unsigned int X, unsigned int Y) { 133883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X%Y; 143883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 153883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopherint srem(int X, int Y) { 163883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X%Y; 173883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 183883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 193883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher_Bool setlt(int X, int Y) { 203883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X < Y; 213883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 223883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher 233883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher_Bool setgt(int X, int Y) { 243883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher return X > Y; 253883e66cfd55de70d89831cf26f9ae53931d11d3Eric Christopher} 26