1*c85f09ccSJohn Levon void def(void); 2*c85f09ccSJohn Levon void r0(void); 3*c85f09ccSJohn Levon void r1(void); 4*c85f09ccSJohn Levon sw_long(long long a)5*c85f09ccSJohn Levonvoid sw_long(long long a) 6*c85f09ccSJohn Levon { 7*c85f09ccSJohn Levon switch (a) { 8*c85f09ccSJohn Levon case 0: return r0(); 9*c85f09ccSJohn Levon case 1LL << 00: return r1(); 10*c85f09ccSJohn Levon case 1LL << 32: return r1(); 11*c85f09ccSJohn Levon } 12*c85f09ccSJohn Levon 13*c85f09ccSJohn Levon return def(); 14*c85f09ccSJohn Levon } 15*c85f09ccSJohn Levon 16*c85f09ccSJohn Levon /* 17*c85f09ccSJohn Levon * check-name: switch-long 18*c85f09ccSJohn Levon * check-command: test-linearize -Wno-decl $file 19*c85f09ccSJohn Levon * 20*c85f09ccSJohn Levon * check-output-start 21*c85f09ccSJohn Levon sw_long: 22*c85f09ccSJohn Levon .L0: 23*c85f09ccSJohn Levon <entry-point> 24*c85f09ccSJohn Levon switch.64 %arg1, 0 -> .L2, 1 -> .L3, 4294967296 -> .L4, default -> .L1 25*c85f09ccSJohn Levon 26*c85f09ccSJohn Levon .L2: 27*c85f09ccSJohn Levon call r0 28*c85f09ccSJohn Levon br .L5 29*c85f09ccSJohn Levon 30*c85f09ccSJohn Levon .L3: 31*c85f09ccSJohn Levon call r1 32*c85f09ccSJohn Levon br .L5 33*c85f09ccSJohn Levon 34*c85f09ccSJohn Levon .L4: 35*c85f09ccSJohn Levon call r1 36*c85f09ccSJohn Levon br .L5 37*c85f09ccSJohn Levon 38*c85f09ccSJohn Levon .L1: 39*c85f09ccSJohn Levon call def 40*c85f09ccSJohn Levon br .L5 41*c85f09ccSJohn Levon 42*c85f09ccSJohn Levon .L5: 43*c85f09ccSJohn Levon ret 44*c85f09ccSJohn Levon 45*c85f09ccSJohn Levon 46*c85f09ccSJohn Levon * check-output-end 47*c85f09ccSJohn Levon */ 48