Lines Matching refs:destinations
810 def EmitVLoadA(self, load_no, load_type, destinations, source):
813 [_LoadStoreSize(destination) for destination in destinations]) / 8
814 self.EmitVLoadAPostIncrement(load_no, load_type, destinations, source,
817 self.EmitVLoadAPostIncrement(load_no, load_type, destinations, source,
820 def EmitVLoadAPostIncrement(self, load_no, load_type, destinations, source,
823 if len(destinations) == 1 and destinations[0].lane is -1:
824 destination = '{%s}' % _AppendType(load_type, destinations[0])
831 destination_list = _RegisterList(load_type, destinations)
840 destinations,
845 min_bits = min([destination.register_bits for destination in destinations])
846 max_bits = max([destination.register_bits for destination in destinations])
851 if len(destinations) * min_bits < bits_to_load:
852 raise ArgumentError('To few destinations: %d to load %d bits.' %
853 (len(destinations), bits_to_load))
858 self.EmitVLoadA(1, 32, destinations[:4],
861 destinations = destinations[4:]
863 self.EmitVLoadA(1, 32, destinations[:3],
866 destinations = destinations[3:]
868 self.EmitVLoadA(1, 32, destinations[:2],
871 destinations = destinations[2:]
873 self.EmitVLoad(1, 32, destinations[0],
876 destinations = destinations[1:]
879 _Cast(64, destinations[0]),
885 self.Lane(32, destinations[0], leftover_loaded / 32),
891 self.Lane(16, destinations[0], leftover_loaded / 16),
897 self.Lane(8, destinations[0], leftover_loaded / 8),
916 def EmitVLoadOffsetA(self, load_no, load_type, destinations, source, offset):
917 assert len(destinations) <= 4
919 _RegisterList(load_type, destinations), source, offset)
968 raise ArgumentError('To few destinations: %d to store %d bits.' %
1057 def EmitVSumReduce(self, reduce_type, elem_count, reduce_count, destinations,
1063 if (elem_count + 3) / 4 > len(destinations):
1064 raise ArgumentError('To few destinations: %d (%d needed)' %
1065 (len(destinations), (elem_count + 3) / 4))
1074 destinations = [_Cast(128, destination) for destination in destinations]
1081 for i in range(len(destinations)):
1082 self.EmitVPadd(reduce_type, destinations[i], sources[2 * i],