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