diff options
Diffstat (limited to 'gcc/brig/brigfrontend')
-rw-r--r-- | gcc/brig/brigfrontend/brig-basic-inst-handler.cc | 7 | ||||
-rw-r--r-- | gcc/brig/brigfrontend/brig-code-entry-handler.cc | 22 |
2 files changed, 12 insertions, 17 deletions
diff --git a/gcc/brig/brigfrontend/brig-basic-inst-handler.cc b/gcc/brig/brigfrontend/brig-basic-inst-handler.cc index 68d81986f1c..8288d665513 100644 --- a/gcc/brig/brigfrontend/brig-basic-inst-handler.cc +++ b/gcc/brig/brigfrontend/brig-basic-inst-handler.cc @@ -33,6 +33,7 @@ #include "stor-layout.h" #include "diagnostic-core.h" #include "brig-builtins.h" +#include "fold-const.h" brig_basic_inst_handler::brig_basic_inst_handler (brig_to_generic &parent) : brig_code_entry_handler (parent) @@ -112,10 +113,8 @@ brig_basic_inst_handler::build_shuffle (tree arith_type, { tree mask_element = build3 (BIT_FIELD_REF, mask_element_type, mask_operand, - build_int_cst (unsigned_char_type_node, - input_mask_element_size), - build_int_cst (unsigned_char_type_node, - i * input_mask_element_size)); + bitsize_int (input_mask_element_size), + bitsize_int (i * input_mask_element_size)); mask_element = convert (element_type, mask_element); diff --git a/gcc/brig/brigfrontend/brig-code-entry-handler.cc b/gcc/brig/brigfrontend/brig-code-entry-handler.cc index 906f47e76b3..8f07d372796 100644 --- a/gcc/brig/brigfrontend/brig-code-entry-handler.cc +++ b/gcc/brig/brigfrontend/brig-code-entry-handler.cc @@ -1423,9 +1423,8 @@ brig_code_entry_handler::build_output_assignment (const BrigInstBase &brig_inst, tree element_ref = build3 (BIT_FIELD_REF, element_type, input, TYPE_SIZE (element_type), - build_int_cst (uint32_type_node, - i * int_size_in_bytes (element_type) - * BITS_PER_UNIT)); + bitsize_int (i * int_size_in_bytes (element_type) + * BITS_PER_UNIT)); last_assign = build_output_assignment (brig_inst, element, element_ref); @@ -1488,7 +1487,7 @@ brig_code_entry_handler::unpack (tree value, tree_stl_vec &elements) tree element = build3 (BIT_FIELD_REF, input_element_type, value, TYPE_SIZE (input_element_type), - build_int_cst (unsigned_char_type_node, i * element_size)); + bitsize_int(i * element_size)); element = add_temp_var ("scalar", element); elements.push_back (element); @@ -1543,9 +1542,8 @@ tree_element_unary_visitor::operator () (brig_code_entry_handler &handler, { tree element = build3 (BIT_FIELD_REF, input_element_type, operand, TYPE_SIZE (input_element_type), - build_int_cst (unsigned_char_type_node, - i * element_size - * BITS_PER_UNIT)); + bitsize_int (i * element_size + * BITS_PER_UNIT)); tree output = visit_element (handler, element); output_element_type = TREE_TYPE (output); @@ -1594,15 +1592,13 @@ tree_element_binary_visitor::operator () (brig_code_entry_handler &handler, tree element0 = build3 (BIT_FIELD_REF, input_element_type, operand0, TYPE_SIZE (input_element_type), - build_int_cst (unsigned_char_type_node, - i * element_size - * BITS_PER_UNIT)); + bitsize_int (i * element_size + * BITS_PER_UNIT)); tree element1 = build3 (BIT_FIELD_REF, input_element_type, operand1, TYPE_SIZE (input_element_type), - build_int_cst (unsigned_char_type_node, - i * element_size - * BITS_PER_UNIT)); + bitsize_int (i * element_size + * BITS_PER_UNIT)); tree output = visit_element (handler, element0, element1); output_element_type = TREE_TYPE (output); |