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)
301 add_label(&$2->labels, $1);
313 $$ = data_merge($1, $2.data);
327 struct data d;
343 struct data d = empty_data;
345 d = data_copy_file(f, -1);
374 unsigned long long bits; variable
377 bits = $2;
379 switch (bits) {
386 " 8, 16, 32 or 64-bits");
387 bits = 32;
390 $$.data = data_add_marker(empty_data, type, NULL);
391 $$.bits = bits;
395 $$.data = data_add_marker(empty_data, TYPE_UINT32, NULL);
396 $$.bits = 32;
400 if ($1.bits < 64) {
401 uint64_t mask = (1ULL << $1.bits) - 1;
403 * Bits above mask must either be all zero
405 * (negative and sign-extended). The second
406 * condition is true if when we set all bits
408 * mask), all bits are one.
410 if (($2 > mask) && (($2 | mask) != -1ULL)) {
415 loc, $2, $1.bits / 4, ($2 & mask));
420 $$.data = data_append_integer($1.data, $2, $1.bits);
424 uint64_t val = ~0ULL >> (64 - $1.bits);
426 if ($1.bits == 32)
427 $1.data = data_add_marker($1.data,
432 "arrays with 32-bit elements.");
434 $$.data = data_append_integer($1.data, val, $1.bits);
438 $$.data = data_add_marker($1.data, LABEL, $2);
507 | integer_add '-' integer_mul { $$ = $1 - $3; }
536 | '-' integer_unary { $$ = -$2; }
589 add_label(&$2->labels, $1);