Lines Matching refs:bitsize

95 mask_rtx (scalar_int_mode mode, int bitpos, int bitsize, bool complement)  in mask_rtx()  argument
98 (wi::shifted_mask (bitpos, bitsize, complement, in mask_rtx()
438 unsigned HOST_WIDE_INT bitsize, in narrow_bit_field_mem() argument
454 HOST_WIDE_INT size = ((*new_bitnum + bitsize + BITS_PER_UNIT - 1) in narrow_bit_field_mem()
472 rtx op0, HOST_WIDE_INT bitsize, in adjust_bit_field_mem_for_reg() argument
479 bit_field_mode_iterator iter (bitsize, bitnum, bitregion_start, in adjust_bit_field_mem_for_reg()
505 return narrow_bit_field_mem (op0, best_mode, bitsize, bitnum, in adjust_bit_field_mem_for_reg()
516 lowpart_bit_field_p (poly_uint64 bitnum, poly_uint64 bitsize, in lowpart_bit_field_p() argument
522 && (known_eq (bitnum + bitsize, GET_MODE_BITSIZE (struct_mode)) in lowpart_bit_field_p()
523 || multiple_p (bitnum + bitsize, in lowpart_bit_field_p()
536 strict_volatile_bitfield_p (rtx op0, unsigned HOST_WIDE_INT bitsize, in strict_volatile_bitfield_p() argument
553 if (bitsize > modesize || modesize > BITS_PER_WORD) in strict_volatile_bitfield_p()
557 if (bitnum % modesize + bitsize > modesize) in strict_volatile_bitfield_p()
581 simple_mem_bitfield_p (rtx op0, poly_uint64 bitsize, poly_uint64 bitnum, in simple_mem_bitfield_p() argument
586 && known_eq (bitsize, GET_MODE_BITSIZE (mode)) in simple_mem_bitfield_p()
600 unsigned HOST_WIDE_INT bitsize, in store_bit_field_using_insv() argument
612 if (bitsize == 0 || bitsize > unit) in store_bit_field_using_insv()
617 xop0 = narrow_bit_field_mem (xop0, insv->struct_mode, bitsize, bitnum, in store_bit_field_using_insv()
665 if (bitsize + bitnum > unit && bitnum < unit) in store_bit_field_using_insv()
669 bitsize, unit - bitnum); in store_bit_field_using_insv()
670 bitsize = unit - bitnum; in store_bit_field_using_insv()
679 bitnum = unit - bitsize - bitnum; in store_bit_field_using_insv()
685 if (GET_MODE_BITSIZE (value_mode) >= bitsize) in store_bit_field_using_insv()
719 create_integer_operand (&ops[1], bitsize); in store_bit_field_using_insv()
740 store_bit_field_1 (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, in store_bit_field_1() argument
768 && known_eq (bitsize, GET_MODE_BITSIZE (innermode)) in store_bit_field_1()
784 && known_eq (bitsize, GET_MODE_BITSIZE (fieldmode))) in store_bit_field_1()
793 && known_eq (bitsize, GET_MODE_BITSIZE (GET_MODE (op0)))) in store_bit_field_1()
805 && multiple_p (bitsize, regsize * BITS_PER_UNIT)) in store_bit_field_1()
823 if (simple_mem_bitfield_p (op0, bitsize, bitnum, fieldmode, &bytenum)) in store_bit_field_1()
836 unsigned HOST_WIDE_INT ibitsize = bitsize.to_constant (); in store_bit_field_1()
866 store_bit_field_1 (temp, bitsize, bitnum, 0, 0, fieldmode, value, in store_bit_field_1()
887 unsigned HOST_WIDE_INT bitsize, in store_integral_bit_field() argument
899 && lowpart_bit_field_p (bitnum, bitsize, op0_mode.require ()) in store_integral_bit_field()
900 && known_eq (bitsize, GET_MODE_BITSIZE (fieldmode)) in store_integral_bit_field()
937 if (bitsize > BITS_PER_WORD) in store_integral_bit_field()
946 const int nwords = (bitsize + (BITS_PER_WORD - 1)) / BITS_PER_WORD; in store_integral_bit_field()
967 = MIN (BITS_PER_WORD, bitsize - i * BITS_PER_WORD); in store_integral_bit_field()
971 ? MAX ((int) bitsize - (i + 1) * BITS_PER_WORD, 0) in store_integral_bit_field()
1028 if (bitnum % BITS_PER_WORD + bitsize > BITS_PER_WORD) in store_integral_bit_field()
1033 store_split_bit_field (op0, op0_mode, bitsize, bitnum, in store_integral_bit_field()
1056 bitsize, bitnum, value, value_mode)) in store_integral_bit_field()
1063 if (get_best_mem_extraction_insn (&insv, EP_insv, bitsize, bitnum, in store_integral_bit_field()
1066 bitsize, bitnum, value, value_mode)) in store_integral_bit_field()
1074 rtx xop0 = adjust_bit_field_mem_for_reg (EP_insv, op0, bitsize, bitnum, in store_integral_bit_field()
1080 if (store_bit_field_1 (tempreg, bitsize, bitpos, in store_integral_bit_field()
1094 store_fixed_bit_field (op0, op0_mode, bitsize, bitnum, bitregion_start, in store_integral_bit_field()
1113 store_bit_field (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, in store_bit_field() argument
1121 if (bitsize.is_constant (&ibitsize) in store_bit_field()
1168 poly_int64 size = bits_to_bytes_round_up (bitnum + bitsize); in store_bit_field()
1171 if (bitsize.is_constant (&ibitsize) in store_bit_field()
1182 if (!store_bit_field_1 (str_rtx, bitsize, bitnum, in store_bit_field()
1197 unsigned HOST_WIDE_INT bitsize, in store_fixed_bit_field() argument
1217 if (!get_best_mode (bitsize, bitnum, bitregion_start, bitregion_end, in store_fixed_bit_field()
1223 store_split_bit_field (op0, op0_mode, bitsize, bitnum, in store_fixed_bit_field()
1229 op0 = narrow_bit_field_mem (op0, best_mode, bitsize, bitnum, &bitnum); in store_fixed_bit_field()
1234 store_fixed_bit_field_1 (op0, best_mode, bitsize, bitnum, in store_fixed_bit_field()
1244 unsigned HOST_WIDE_INT bitsize, in store_fixed_bit_field_1() argument
1259 bitnum = GET_MODE_BITSIZE (mode) - bitsize - bitnum; in store_fixed_bit_field_1()
1271 if (bitsize < HOST_BITS_PER_WIDE_INT) in store_fixed_bit_field_1()
1272 v &= (HOST_WIDE_INT_1U << bitsize) - 1; in store_fixed_bit_field_1()
1276 else if ((bitsize < HOST_BITS_PER_WIDE_INT in store_fixed_bit_field_1()
1277 && v == (HOST_WIDE_INT_1U << bitsize) - 1) in store_fixed_bit_field_1()
1278 || (bitsize == HOST_BITS_PER_WIDE_INT in store_fixed_bit_field_1()
1286 int must_and = (GET_MODE_BITSIZE (value_mode) != bitsize in store_fixed_bit_field_1()
1287 && bitnum + bitsize != GET_MODE_BITSIZE (mode)); in store_fixed_bit_field_1()
1294 mask_rtx (mode, 0, bitsize, 0), in store_fixed_bit_field_1()
1313 rtx mask = mask_rtx (mode, bitnum, bitsize, 1); in store_fixed_bit_field_1()
1352 unsigned HOST_WIDE_INT bitsize, in store_split_bit_field() argument
1388 while (bitsdone < bitsize) in store_split_bit_field()
1415 thissize = MIN (bitsize - bitsdone, BITS_PER_WORD); in store_split_bit_field()
1423 >> (bitsize - bitsdone - thissize)) in store_split_bit_field()
1429 bitsize - bitsdone - thissize, in store_split_bit_field()
1437 total_bits - bitsize + bitsdone, in store_split_bit_field()
1525 unsigned HOST_WIDE_INT bitsize, in extract_bit_field_using_extv() argument
1536 if (bitsize == 0 || unit < bitsize) in extract_bit_field_using_extv()
1541 op0 = narrow_bit_field_mem (op0, extv->struct_mode, bitsize, bitnum, in extract_bit_field_using_extv()
1563 bitnum = unit - bitsize - bitnum; in extract_bit_field_using_extv()
1587 create_integer_operand (&ops[2], bitsize); in extract_bit_field_using_extv()
1607 poly_uint64 bitsize, poly_uint64 bitnum) in extract_bit_field_as_subreg() argument
1611 && known_eq (bitsize, GET_MODE_BITSIZE (mode)) in extract_bit_field_as_subreg()
1612 && lowpart_bit_field_p (bitnum, bitsize, GET_MODE (op0)) in extract_bit_field_as_subreg()
1624 extract_bit_field_1 (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, in extract_bit_field_1() argument
1650 && known_eq (bitsize, GET_MODE_BITSIZE (GET_MODE (op0)))) in extract_bit_field_1()
1662 && known_eq (bitsize, GET_MODE_BITSIZE (tmode)) in extract_bit_field_1()
1748 && known_eq (bitsize, GET_MODE_BITSIZE (innermode)) in extract_bit_field_1()
1772 rtx sub = extract_bit_field_as_subreg (mode, op0, bitsize, bitnum); in extract_bit_field_1()
1812 || !mode_for_size (bitsize, GET_MODE_CLASS (tmode), 0).exists (&mode1)) in extract_bit_field_1()
1821 rtx sub = extract_bit_field_as_subreg (mode1, op0, bitsize, bitnum); in extract_bit_field_1()
1829 if (simple_mem_bitfield_p (op0, bitsize, bitnum, mode1, &bytenum)) in extract_bit_field_1()
1844 poly_uint64 bytesize = bits_to_bytes_round_up (bitnum + bitsize); in extract_bit_field_1()
1853 return extract_integral_bit_field (op0, op0_mode, bitsize.to_constant (), in extract_bit_field_1()
1865 unsigned HOST_WIDE_INT bitsize, in extract_integral_bit_field() argument
1872 if (bitsize > BITS_PER_WORD) in extract_integral_bit_field()
1880 unsigned int nwords = (bitsize + (BITS_PER_WORD - 1)) / BITS_PER_WORD; in extract_integral_bit_field()
1910 ? MAX ((int) bitsize - ((int) i + 1) in extract_integral_bit_field()
1917 bitsize - i * BITS_PER_WORD), in extract_integral_bit_field()
1953 GET_MODE_BITSIZE (mode) - bitsize, NULL_RTX, 0); in extract_integral_bit_field()
1955 GET_MODE_BITSIZE (mode) - bitsize, NULL_RTX, 0); in extract_integral_bit_field()
1962 if (bitnum % BITS_PER_WORD + bitsize > BITS_PER_WORD) in extract_integral_bit_field()
1966 target = extract_split_bit_field (op0, op0_mode, bitsize, bitnum, in extract_integral_bit_field()
1990 bitsize, bitnum, in extract_integral_bit_field()
2001 if (get_best_mem_extraction_insn (&extv, pattern, bitsize, bitnum, in extract_integral_bit_field()
2005 bitsize, bitnum, in extract_integral_bit_field()
2017 rtx xop0 = adjust_bit_field_mem_for_reg (pattern, op0, bitsize, bitnum, in extract_integral_bit_field()
2022 rtx result = extract_bit_field_1 (xop0, bitsize, bitpos, in extract_integral_bit_field()
2042 target = extract_fixed_bit_field (int_mode, op0, op0_mode, bitsize, in extract_integral_bit_field()
2081 extract_bit_field (rtx str_rtx, poly_uint64 bitsize, poly_uint64 bitnum, in extract_bit_field() argument
2097 if (bitsize.is_constant (&ibitsize) in extract_bit_field()
2125 return extract_bit_field_1 (str_rtx, bitsize, bitnum, unsignedp, in extract_bit_field()
2143 unsigned HOST_WIDE_INT bitsize, in extract_fixed_bit_field() argument
2150 if (!get_best_mode (bitsize, bitnum, 0, 0, MEM_ALIGN (op0), in extract_fixed_bit_field()
2154 return extract_split_bit_field (op0, op0_mode, bitsize, bitnum, in extract_fixed_bit_field()
2157 op0 = narrow_bit_field_mem (op0, mode, bitsize, bitnum, &bitnum); in extract_fixed_bit_field()
2162 return extract_fixed_bit_field_1 (tmode, op0, mode, bitsize, bitnum, in extract_fixed_bit_field()
2172 unsigned HOST_WIDE_INT bitsize, in extract_fixed_bit_field_1() argument
2183 bitnum = GET_MODE_BITSIZE (mode) - bitsize - bitnum; in extract_fixed_bit_field_1()
2212 if (GET_MODE_BITSIZE (mode) != bitnum + bitsize) in extract_fixed_bit_field_1()
2214 mask_rtx (new_mode, 0, bitsize, 0), in extract_fixed_bit_field_1()
2227 if (GET_MODE_BITSIZE (mode_iter.require ()) >= bitsize + bitnum) in extract_fixed_bit_field_1()
2236 if (GET_MODE_BITSIZE (mode) != (bitsize + bitnum)) in extract_fixed_bit_field_1()
2238 int amount = GET_MODE_BITSIZE (mode) - (bitsize + bitnum); in extract_fixed_bit_field_1()
2245 GET_MODE_BITSIZE (mode) - bitsize, target, 0); in extract_fixed_bit_field_1()
2271 unsigned HOST_WIDE_INT bitsize, in extract_split_bit_field() argument
2287 while (bitsdone < bitsize) in extract_split_bit_field()
2300 thissize = MIN (bitsize - bitsdone, BITS_PER_WORD); in extract_split_bit_field()
2324 if (bitsize != bitsdone) in extract_split_bit_field()
2326 bitsize - bitsdone, 0, 1); in extract_split_bit_field()
2351 BITS_PER_WORD - bitsize, NULL_RTX, 0); in extract_split_bit_field()
2353 BITS_PER_WORD - bitsize, NULL_RTX, 0); in extract_split_bit_field()