Lines Matching refs:ishr

430    ishr = "ishr@{}".format(s)
439 # To get get -1 for large shifts of negative values, ishr must instead
441 ((ishr, (ishr, a, '#b'), '#c'),
442 (ishr, a, ('imin', ('iadd', ('iand', b, mask), ('iand', c, mask)), s - 1))),
455 (('ishl', ('ishr', a_sz, '#b'), b), ('iand', a, ('ishl', mask, b))),
457 # This does not trivially work with ishr.
488 # (('ishr@32', ('iand', 'a@32', hi_mask), i), ('ishr', a, i)),
492 # (('iand', ('ishr', 'a@32', i), lo_mask), ('ushr', a, i)), # Yes, ushr is correct
749 (('iand@{}'.format(s), a, ('inot', ('ishr', a, s - 1))), ('imax', a, 0)),
760 (('ine', ('ishr', 'a@{}'.format(s), s - 1), 0), ('ilt', a, 0)),
761 (('ieq', ('ishr', 'a@{}'.format(s), s - 1), 0), ('ige', a, 0)),
762 (('ieq', ('ishr', 'a@{}'.format(s), s - 1), -1), ('ilt', a, 0)),
763 (('ine', ('ishr', 'a@{}'.format(s), s - 1), -1), ('ige', a, 0)),
1020 ((op, ('ishr(is_used_once)', a, '#b'), ('ishr', c, b)), ('ishr', (op, a, c), b)),
1041 (('ishr', 'a@{}'.format(s), ('iand', s - 1, b)), ('ishr', a, b)),
1123 # Thanks to sign extension, the ishr(a, b) is negative if and only if a is
1125 (('bcsel', ('ilt', a, 0), ('ineg', ('ishr', a, b)), ('ishr', a, b)),
1126 ('iabs', ('ishr', a, b))),
1127 (('iabs', ('ishr', ('iabs', a), b)), ('ishr', ('iabs', a), b)),
1240 (('ishr', 0, a), 0),
1241 (('ishr', -1, a), -1),
1242 (('ishr', a, 0), a),
1484 (('ishr', 'a@16', 8), ('extract_i8', a, 1), '!options->lower_extract_byte'),
1485 (('ishr', 'a@32', 24), ('extract_i8', a, 3), '!options->lower_extract_byte'),
1486 (('ishr', 'a@64', 56), ('extract_i8', a, 7), '!options->lower_extract_byte'),
1513 (('ishr', ('ishl', 'a@32', 16), 16), ('extract_i16', a, 0), '!options->lower_extract_word'),
1514 (('ishr', 'a@32', 16), ('extract_i16', a, 1), '!options->lower_extract_word'),
1579 for op in ('ushr', 'ishr'):
1683 (('ihadd', a, b), ('iadd', ('iand', a, b), ('ishr', ('ixor', a, b), 1)), 'options->lower_hadd'),
1685 (('irhadd', a, b), ('isub', ('ior', a, b), ('ishr', ('ixor', a, b), 1)), 'options->lower_hadd'),
1687 (('ihadd@64', a, b), ('iadd', ('iand', a, b), ('ishr', ('ixor', a, b), 1)), 'options->lower_hadd64 || (options->lower_int64_options & nir_lower_iadd64) != 0'),
1689 (('irhadd@64', a, b), ('isub', ('ior', a, b), ('ishr', ('ixor', a, b), 1)), 'options->lower_hadd64 || (options->lower_int64_options & nir_lower_iadd64) != 0'),
1826 ('ishr',
1860 ('ishr', ('ishl', a, ('imul', ('isub', 3, b), 8)), 24),
1868 ('ishr', ('ishl', a, ('imul', ('isub', 1, b), 16)), 16),
2280 # (We use ishr which isn't the same for -1, but the -1 case still works
2287 pow2_1 = fexp2i(('ishr', exp, 1), bits)
2288 pow2_2 = fexp2i(('isub', exp, ('ishr', exp, 1)), bits)
2745 (('ibfe', a, '#b', '#c'), ('ishr', ('ishl', a, ('ineg', ('iadd', b, c))), ('ineg', c)), 'options->avoid_ternary_with_two_constants'),
2750 (('ishr', a, 0), a),
2751 (('ishr', a, -32), a),