1 typedef unsigned int u32;
   2 
   3 int smulm1(int a) { return a * -1; }
   4 u32 umulm1(u32 a) { return a * (u32) -1; }
   5 int sdivm1(int a) { return a / -1; }
   6 u32 udivm1(u32 a) { return a / (u32) -1; }
   7 
   8 /*
   9  * check-name: muldiv-minus-one
  10  * check-command: test-linearize -Wno-decl $file
  11  * check-output-ignore
  12  *
  13  * check-output-excludes: mul[us]\\.
  14  * check-output-excludes: divs\\.
  15  * check-output-contains: neg\\.
  16  * check-output-contains: divu\\.
  17  * check-output-pattern-3-times: neg\\.
  18  */