177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//===-- ctzsi2_test.c - Test __ctzsi2 -------------------------------------===//
277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//
377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//                     The LLVM Compiler Infrastructure
477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//
577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// This file is distributed under the University of Illinois Open Source
677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// License. See LICENSE.TXT for details.
777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//
877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//===----------------------------------------------------------------------===//
977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//
1077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// This file tests __ctzsi2 for the compiler_rt library.
1177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//
1277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//===----------------------------------------------------------------------===//
1377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include "int_lib.h"
1577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao#include <stdio.h>
1677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Returns: the number of trailing 0-bits
1877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
1977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao// Precondition: a != 0
2077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
2177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaosi_int __ctzsi2(si_int a);
2277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
2377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint test__ctzsi2(si_int a, si_int expected)
2477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
2577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    si_int x = __ctzsi2(a);
2677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (x != expected)
2777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        printf("error in __ctzsi2(0x%X) = %d, expected %d\n", a, x, expected);
2877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    return x != expected;
2977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
3077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
3177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaochar assumption_1[sizeof(di_int) == 2*sizeof(si_int)] = {0};
3277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaochar assumption_2[sizeof(si_int)*CHAR_BIT == 32] = {0};
3377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
3477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liaoint main()
3577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao{
3677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//     if (test__ctzsi2(0x00000000, 32))  // undefined
3777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao//         return 1;
3877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000001, 0))
3977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
4077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000002, 1))
4177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
4277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000003, 0))
4377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
4477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000004, 2))
4577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
4677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000005, 0))
4777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
4877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000006, 1))
4977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
5077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000007, 0))
5177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
5277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000008, 3))
5377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
5477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000009, 0))
5577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
5677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000A, 1))
5777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
5877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000B, 0))
5977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
6077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000C, 2))
6177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
6277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000D, 0))
6377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
6477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000E, 1))
6577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
6677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000000F, 0))
6777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
6877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000010, 4))
6977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
7077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000012, 1))
7177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
7277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000013, 0))
7377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
7477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000014, 2))
7577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
7677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000015, 0))
7777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
7877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000016, 1))
7977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
8077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000017, 0))
8177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
8277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000018, 3))
8377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
8477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000019, 0))
8577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
8677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001A, 1))
8777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
8877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001B, 0))
8977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
9077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001C, 2))
9177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
9277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001D, 0))
9377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
9477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001E, 1))
9577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
9677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000001F, 0))
9777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
9877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000020, 5))
9977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
10077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000022, 1))
10177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
10277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000023, 0))
10377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
10477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000024, 2))
10577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
10677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000025, 0))
10777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
10877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000026, 1))
10977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
11077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000027, 0))
11177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
11277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000028, 3))
11377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
11477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000029, 0))
11577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
11677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002A, 1))
11777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
11877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002B, 0))
11977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
12077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002C, 2))
12177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
12277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002D, 0))
12377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
12477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002E, 1))
12577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
12677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000002F, 0))
12777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
12877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000030, 4))
12977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
13077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000032, 1))
13177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
13277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000033, 0))
13377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
13477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000034, 2))
13577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
13677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000035, 0))
13777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
13877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000036, 1))
13977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
14077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000037, 0))
14177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
14277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000038, 3))
14377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
14477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000039, 0))
14577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
14677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003A, 1))
14777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
14877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003B, 0))
14977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
15077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003C, 2))
15177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
15277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003D, 0))
15377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
15477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003E, 1))
15577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
15677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000003F, 0))
15777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
15877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000040, 6))
15977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
16077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000042, 1))
16177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
16277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000043, 0))
16377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
16477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000044, 2))
16577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
16677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000045, 0))
16777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
16877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000046, 1))
16977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
17077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000047, 0))
17177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
17277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000048, 3))
17377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
17477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000049, 0))
17577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
17677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004A, 1))
17777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
17877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004B, 0))
17977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
18077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004C, 2))
18177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
18277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004D, 0))
18377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
18477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004E, 1))
18577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
18677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000004F, 0))
18777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
18877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000050, 4))
18977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
19077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000052, 1))
19177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
19277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000053, 0))
19377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
19477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000054, 2))
19577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
19677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000055, 0))
19777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
19877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000056, 1))
19977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
20077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000057, 0))
20177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
20277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000058, 3))
20377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
20477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000059, 0))
20577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
20677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005A, 1))
20777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
20877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005B, 0))
20977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
21077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005C, 2))
21177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
21277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005D, 0))
21377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
21477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005E, 1))
21577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
21677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000005F, 0))
21777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
21877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000060, 5))
21977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
22077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000062, 1))
22177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
22277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000063, 0))
22377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
22477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000064, 2))
22577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
22677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000065, 0))
22777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
22877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000066, 1))
22977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
23077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000067, 0))
23177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
23277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000068, 3))
23377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
23477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000069, 0))
23577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
23677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006A, 1))
23777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
23877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006B, 0))
23977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
24077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006C, 2))
24177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
24277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006D, 0))
24377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
24477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006E, 1))
24577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
24677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000006F, 0))
24777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
24877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000070, 4))
24977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
25077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000072, 1))
25177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
25277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000073, 0))
25377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
25477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000074, 2))
25577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
25677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000075, 0))
25777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
25877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000076, 1))
25977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
26077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000077, 0))
26177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
26277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000078, 3))
26377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
26477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000079, 0))
26577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
26677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007A, 1))
26777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
26877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007B, 0))
26977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
27077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007C, 2))
27177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
27277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007D, 0))
27377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
27477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007E, 1))
27577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
27677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000007F, 0))
27777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
27877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000080, 7))
27977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
28077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000082, 1))
28177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
28277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000083, 0))
28377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
28477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000084, 2))
28577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
28677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000085, 0))
28777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
28877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000086, 1))
28977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
29077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000087, 0))
29177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
29277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000088, 3))
29377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
29477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000089, 0))
29577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
29677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008A, 1))
29777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
29877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008B, 0))
29977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
30077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008C, 2))
30177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
30277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008D, 0))
30377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
30477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008E, 1))
30577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
30677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000008F, 0))
30777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
30877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000090, 4))
30977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
31077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000092, 1))
31177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
31277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000093, 0))
31377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
31477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000094, 2))
31577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
31677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000095, 0))
31777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
31877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000096, 1))
31977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
32077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000097, 0))
32177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
32277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000098, 3))
32377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
32477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000099, 0))
32577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
32677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009A, 1))
32777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
32877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009B, 0))
32977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
33077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009C, 2))
33177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
33277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009D, 0))
33377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
33477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009E, 1))
33577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
33677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x0000009F, 0))
33777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
33877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A0, 5))
33977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
34077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A2, 1))
34177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
34277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A3, 0))
34377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
34477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A4, 2))
34577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
34677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A5, 0))
34777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
34877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A6, 1))
34977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
35077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A7, 0))
35177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
35277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A8, 3))
35377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
35477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000A9, 0))
35577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
35677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AA, 1))
35777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
35877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AB, 0))
35977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
36077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AC, 2))
36177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
36277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AD, 0))
36377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
36477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AE, 1))
36577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
36677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000AF, 0))
36777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
36877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B0, 4))
36977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
37077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B2, 1))
37177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
37277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B3, 0))
37377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
37477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B4, 2))
37577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
37677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B5, 0))
37777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
37877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B6, 1))
37977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
38077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B7, 0))
38177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
38277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B8, 3))
38377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
38477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000B9, 0))
38577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
38677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BA, 1))
38777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
38877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BB, 0))
38977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
39077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BC, 2))
39177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
39277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BD, 0))
39377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
39477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BE, 1))
39577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
39677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000BF, 0))
39777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
39877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C0, 6))
39977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
40077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C2, 1))
40177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
40277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C3, 0))
40377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
40477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C4, 2))
40577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
40677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C5, 0))
40777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
40877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C6, 1))
40977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
41077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C7, 0))
41177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
41277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C8, 3))
41377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
41477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000C9, 0))
41577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
41677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CA, 1))
41777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
41877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CB, 0))
41977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
42077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CC, 2))
42177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
42277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CD, 0))
42377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
42477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CE, 1))
42577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
42677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000CF, 0))
42777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
42877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D0, 4))
42977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
43077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D2, 1))
43177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
43277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D3, 0))
43377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
43477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D4, 2))
43577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
43677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D5, 0))
43777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
43877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D6, 1))
43977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
44077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D7, 0))
44177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
44277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D8, 3))
44377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
44477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000D9, 0))
44577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
44677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DA, 1))
44777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
44877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DB, 0))
44977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
45077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DC, 2))
45177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
45277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DD, 0))
45377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
45477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DE, 1))
45577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
45677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000DF, 0))
45777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
45877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E0, 5))
45977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
46077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E2, 1))
46177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
46277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E3, 0))
46377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
46477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E4, 2))
46577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
46677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E5, 0))
46777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
46877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E6, 1))
46977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
47077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E7, 0))
47177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
47277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E8, 3))
47377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
47477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000E9, 0))
47577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
47677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000EA, 1))
47777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
47877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000EB, 0))
47977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
48077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000EC, 2))
48177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
48277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000ED, 0))
48377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
48477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000EE, 1))
48577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
48677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000EF, 0))
48777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
48877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F0, 4))
48977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
49077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F2, 1))
49177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
49277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F3, 0))
49377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
49477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F4, 2))
49577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
49677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F5, 0))
49777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
49877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F6, 1))
49977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
50077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F7, 0))
50177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
50277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F8, 3))
50377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
50477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000F9, 0))
50577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
50677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FA, 1))
50777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
50877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FB, 0))
50977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
51077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FC, 2))
51177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
51277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FD, 0))
51377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
51477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FE, 1))
51577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
51677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x000000FF, 0))
51777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
51877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
51977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000100, 8))
52077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
52177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000200, 9))
52277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
52377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000400, 10))
52477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
52577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00000800, 11))
52677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
52777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00001000, 12))
52877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
52977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00002000, 13))
53077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
53177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00004000, 14))
53277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
53377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00008000, 15))
53477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
53577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00010000, 16))
53677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
53777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00020000, 17))
53877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
53977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00040000, 18))
54077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
54177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00080000, 19))
54277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
54377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00100000, 20))
54477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
54577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00200000, 21))
54677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
54777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00400000, 22))
54877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
54977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x00800000, 23))
55077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
55177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x01000000, 24))
55277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
55377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x02000000, 25))
55477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
55577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x04000000, 26))
55677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
55777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x08000000, 27))
55877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
55977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x10000000, 28))
56077ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
56177ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x20000000, 29))
56277ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
56377ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x40000000, 30))
56477ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
56577ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao    if (test__ctzsi2(0x80000000, 31))
56677ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao        return 1;
56777ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao
56877ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao   return 0;
56977ed6142daed1e068fbda64405d0de9845e40e1Shih-wei Liao}
570