Lines Matching +full:data +full:- +full:bits

1 // SPDX-License-Identifier: GPL-2.0-or-later
38 struct data data; member
41 struct data data; member
42 int bits; member
66 %token <data> DT_STRING
72 %type <data> propdata
73 %type <data> propdataprefix
79 %type <data> bytestring
153 add_label(&$2->labels, $1);
174 * so $-1 is what we want (plugindecl)
176 if (!($<flags>-1 & DTSF_PLUGIN))
179 ERROR(&@2, "Label-relative reference %s not supported in plugin", $1);
189 if (($<flags>-1 & DTSF_PLUGIN) && is_ref_relative($3))
190 ERROR(&@2, "Label-relative reference %s not supported in plugin", $3);
193 add_label(&target->labels, $2);
204 * so $-1 is what we want (plugindecl)
206 if ($<flags>-1 & DTSF_PLUGIN) {
208 ERROR(&@2, "Label-relative reference %s not supported in plugin", $2);
230 * so $-1 is what we want (plugindecl)
232 if ($<flags>-1 & DTSF_PLUGIN)
298 add_label(&$2->labels, $1);
310 $$ = data_merge($1, $2.data);
324 struct data d;
340 struct data d = empty_data;
342 d = data_copy_file(f, -1);
371 unsigned long long bits; variable
374 bits = $2;
376 switch (bits) {
383 " 8, 16, 32 or 64-bits");
384 bits = 32;
387 $$.data = data_add_marker(empty_data, type, NULL);
388 $$.bits = bits;
392 $$.data = data_add_marker(empty_data, TYPE_UINT32, NULL);
393 $$.bits = 32;
397 if ($1.bits < 64) {
398 uint64_t mask = (1ULL << $1.bits) - 1;
400 * Bits above mask must either be all zero
402 * (negative and sign-extended). The second
403 * condition is true if when we set all bits
405 * mask), all bits are one.
407 if (($2 > mask) && (($2 | mask) != -1ULL)) {
412 loc, $2, $1.bits / 4, ($2 & mask));
417 $$.data = data_append_integer($1.data, $2, $1.bits);
421 uint64_t val = ~0ULL >> (64 - $1.bits);
423 if ($1.bits == 32)
424 $1.data = data_add_marker($1.data,
429 "arrays with 32-bit elements.");
431 $$.data = data_append_integer($1.data, val, $1.bits);
435 $$.data = data_add_marker($1.data, LABEL, $2);
504 | integer_add '-' integer_mul { $$ = $1 - $3; }
533 | '-' integer_unary { $$ = -$2; }
584 add_label(&$2->labels, $1);