diff --git a/arch/arm/include/arm/irq.h b/arch/arm/include/arm/irq.h index 62cbed6a0a1..2d65c735f0d 100644 --- a/arch/arm/include/arm/irq.h +++ b/arch/arm/include/arm/irq.h @@ -187,7 +187,7 @@ static inline irqstate_t up_irq_save(void) "\tmsr cpsr_c, %1" : "=r" (flags), "=r" (temp) : - : "memory"); + : "cc", "memory"); return flags; } @@ -200,7 +200,7 @@ static inline void up_irq_restore(irqstate_t flags) "msr cpsr_c, %0" : : "r" (flags) - : "memory"); + : "cc", "memory"); } /* Enable IRQs and return the previous IRQ state */ @@ -216,7 +216,7 @@ static inline irqstate_t up_irq_enable(void) "\tmsr cpsr_c, %1" : "=r" (flags), "=r" (temp) : - : "memory"); + : "cc", "memory"); return flags; } #endif /* __ASSEMBLY__ */ diff --git a/arch/arm/include/armv7-m/irq.h b/arch/arm/include/armv7-m/irq.h index a3e467e3c59..626072c47d7 100644 --- a/arch/arm/include/armv7-m/irq.h +++ b/arch/arm/include/armv7-m/irq.h @@ -457,7 +457,7 @@ static inline void up_irq_restore(irqstate_t flags) "1:\n" : : "r" (flags) - : "memory"); + : "cc", "memory"); #endif } diff --git a/arch/arm/include/armv8-m/irq.h b/arch/arm/include/armv8-m/irq.h index 066a5754272..0c1809f13fa 100644 --- a/arch/arm/include/armv8-m/irq.h +++ b/arch/arm/include/armv8-m/irq.h @@ -430,7 +430,7 @@ static inline void up_irq_restore(irqstate_t flags) "1:\n" : : "r" (flags) - : "memory"); + : "cc", "memory"); #endif } diff --git a/arch/arm/src/tiva/common/lm4xx_tm3c_sysctrl.c b/arch/arm/src/tiva/common/lm4xx_tm3c_sysctrl.c index 833d0830710..22703e4f82c 100644 --- a/arch/arm/src/tiva/common/lm4xx_tm3c_sysctrl.c +++ b/arch/arm/src/tiva/common/lm4xx_tm3c_sysctrl.c @@ -81,7 +81,7 @@ static inline void tiva_delay(uint32_t delay) __asm__ __volatile__("1:\n" "\tsubs %0, #1\n" "\tbne 1b\n" - : "=r"(delay) : "r"(delay)); + : "=r"(delay) : "r"(delay) : "cc"); } /**************************************************************************** diff --git a/arch/arm/src/tiva/common/tiva_eeprom.c b/arch/arm/src/tiva/common/tiva_eeprom.c index 223a9ff9175..d18d66c1a34 100644 --- a/arch/arm/src/tiva/common/tiva_eeprom.c +++ b/arch/arm/src/tiva/common/tiva_eeprom.c @@ -164,7 +164,7 @@ static inline void tiva_delay(uint32_t delay) __asm__ __volatile__("1:\n" "\tsubs %0, #1\n" "\tbne 1b\n" - : "=r"(delay) : "r"(delay)); + : "=r"(delay) : "r"(delay) : "cc"); } /****************************************************************************