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