@@ -1445,10 +1445,11 @@ struct arm64_yield_t {
1445
1445
* Places the core into light sleep mode, waiting for an event to wake it up,
1446
1446
* or the timeout to expire.
1447
1447
*/
1448
- #pragma GCC push_options
1449
- #pragma GCC target("arch=armv8-a+wfxt")
1450
1448
#if defined(__clang__)
1451
1449
#pragma clang attribute push(__attribute__((target("arch=armv8-a+wfxt"))), apply_to = function)
1450
+ #elif defined(__GNUC__)
1451
+ #pragma GCC push_options
1452
+ #pragma GCC target("arch=armv8-a+wfxt")
1452
1453
#endif
1453
1454
1454
1455
struct arm64_wfet_t {
@@ -1476,9 +1477,10 @@ struct arm64_wfet_t {
1476
1477
}
1477
1478
};
1478
1479
1479
- #pragma GCC pop_options
1480
1480
#if defined(__clang__)
1481
1481
#pragma clang attribute pop
1482
+ #elif defined(__GNUC__)
1483
+ #pragma GCC pop_options
1482
1484
#endif
1483
1485
1484
1486
#endif // FU_DETECT_ARCH_ARM64_
@@ -1489,10 +1491,11 @@ struct x86_pause_t {
1489
1491
inline void operator ()() const noexcept { __asm__ __volatile__ (" pause" ); }
1490
1492
};
1491
1493
1492
- #pragma GCC push_options
1493
- #pragma GCC target("waitpkg")
1494
1494
#if defined(__clang__)
1495
1495
#pragma clang attribute push(__attribute__((target("waitpkg"))), apply_to = function)
1496
+ #elif defined(__GNUC__)
1497
+ #pragma GCC push_options
1498
+ #pragma GCC target("waitpkg")
1496
1499
#endif
1497
1500
1498
1501
/* *
@@ -1531,9 +1534,10 @@ struct x86_tpause_t {
1531
1534
}
1532
1535
};
1533
1536
1534
- #pragma GCC pop_options
1535
1537
#if defined(__clang__)
1536
1538
#pragma clang attribute pop
1539
+ #elif defined(__GNUC__)
1540
+ #pragma GCC pop_options
1537
1541
#endif
1538
1542
1539
1543
#endif // FU_DETECT_ARCH_X86_64_
0 commit comments