diff mbox series

[avr,committed] Remove all uses of attribute pure from LibF7.

Message ID 8cf641ba-1d7d-7daa-3da2-4a9bf5b8a909@gjlay.de
State New
Headers show
Series [avr,committed] Remove all uses of attribute pure from LibF7. | expand

Commit Message

Georg-Johann Lay Oct. 5, 2023, 1:29 p.m. UTC
Applied the following patch.

Johann


LibF7: Remove uses of attribute pure.

libgcc/config/avr/libf7/
	* libf7.h (F7_PURE): Remove all occurrences.
	* libf7.c: Same.

  extern void f7_addsub (f7_t*, const f7_t*, const f7_t*, bool neg_b);
  extern void f7_madd_msub (f7_t*, const f7_t*, const f7_t*, const 
f7_t*, bool);
  extern void f7_madd (f7_t*, const f7_t*, const f7_t*, const f7_t*);
diff mbox series

Patch

diff --git a/libgcc/config/avr/libf7/libf7.c 
b/libgcc/config/avr/libf7/libf7.c
index 373a8a55d90..0d9e4c325b2 100644
--- a/libgcc/config/avr/libf7/libf7.c
+++ b/libgcc/config/avr/libf7/libf7.c
@@ -352,7 +352,7 @@  float f7_get_float (const f7_t *aa)

    return make_float (mant);
  }
-F7_PURE ALIAS (f7_get_float, f7_truncdfsf2)
+ALIAS (f7_get_float, f7_truncdfsf2)
  #endif // F7MOD_get_float_

  #define DBL_DIG_EXP   11
@@ -572,7 +572,7 @@  int32_t f7_get_s32 (const f7_t *aa)
    extern int32_t to_s32 (const f7_t*, uint8_t) F7ASM(f7_to_integer_asm);
    return to_s32 (aa, 0x1f);
  }
-F7_PURE ALIAS (f7_get_s32, f7_fixdfsi)
+ALIAS (f7_get_s32, f7_fixdfsi)
  #endif // F7MOD_get_s32_


@@ -583,7 +583,7 @@  F7_PURE ALIAS (f7_get_s32, f7_fixdfsi)
    extern int64_t to_s64 (const f7_t*, uint8_t) F7ASM(f7_to_integer_asm);
    return to_s64 (aa, 0x3f);
  }
-F7_PURE ALIAS (f7_get_s64, f7_fixdfdi)
+ALIAS (f7_get_s64, f7_fixdfdi)
  #endif // F7MOD_get_s64_

  #ifdef F7MOD_get_u16_
@@ -603,7 +603,7 @@  uint32_t f7_get_u32 (const f7_t *aa)
    extern uint32_t to_u32 (const f7_t*, uint8_t) F7ASM(f7_to_unsigned_asm);
    return to_u32 (aa, 0x1f);
  }
-F7_PURE ALIAS (f7_get_u32, f7_fixunsdfsi)
+ALIAS (f7_get_u32, f7_fixunsdfsi)
  #endif // F7MOD_get_u32_


@@ -614,7 +614,7 @@  uint64_t f7_get_u64 (const f7_t *aa)
    extern int64_t to_u64 (const f7_t*, uint8_t) F7ASM(f7_to_unsigned_asm);
    return to_u64 (aa, 0x3f);
  }
-F7_PURE ALIAS (f7_get_u64, f7_fixunsdfdi)
+ALIAS (f7_get_u64, f7_fixunsdfdi)
  #endif // F7MOD_get_u64_


diff --git a/libgcc/config/avr/libf7/libf7.h 
b/libgcc/config/avr/libf7/libf7.h
index 3f81b5f1f88..f692854dced 100644
--- a/libgcc/config/avr/libf7/libf7.h
+++ b/libgcc/config/avr/libf7/libf7.h
@@ -36,7 +36,7 @@ 
      --  Inline asm
      --  Setting assembler names by means of __asm (GNU-C).
      --  Attributes: alias, always_inline, const, noinline, unused,
-                    progmem, pure, weak, warning
+		    progmem, weak, warning
      --  GCC built-ins: __builtin_abort, __builtin_constant_p
      --  AVR built-ins: __builtin_avr_bitsr, __builtin_avr_rbits
  */
@@ -112,7 +112,6 @@  extern "C" {
  #define F7_INLINE   inline __attribute__((__always_inline__))
  #define F7_NOINLINE __attribute__((__noinline__))
  #define F7_WEAK     __attribute__((__weak__))
-#define F7_PURE     __attribute__((__pure__))
  #define F7_UNUSED   __attribute__((__unused__))
  #define F7_CONST    __attribute__((__const__))

@@ -150,7 +149,7 @@  typedef uint64_t f7_double_t;
  #define F7_MANT_HI2(X) \
    (*(uint16_t*) & (X)->mant[F7_MANT_BYTES - 2])

-static F7_INLINE F7_PURE
+static F7_INLINE
  uint8_t f7_classify (const f7_t *aa)
  {
    extern void f7_classify_asm (void);
@@ -361,14 +360,14 @@  f7_t* f7_abs (f7_t *cc, const f7_t *aa)
  }


-F7_PURE extern int8_t f7_cmp (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_lt_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_le_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_gt_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_ge_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_ne_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_eq_impl (const f7_t*, const f7_t*);
-F7_PURE extern bool f7_unord_impl (const f7_t*, const f7_t*);
+extern int8_t f7_cmp (const f7_t*, const f7_t*);
+extern bool f7_lt_impl (const f7_t*, const f7_t*);
+extern bool f7_le_impl (const f7_t*, const f7_t*);
+extern bool f7_gt_impl (const f7_t*, const f7_t*);
+extern bool f7_ge_impl (const f7_t*, const f7_t*);
+extern bool f7_ne_impl (const f7_t*, const f7_t*);
+extern bool f7_eq_impl (const f7_t*, const f7_t*);
+extern bool f7_unord_impl (const f7_t*, const f7_t*);

  static F7_INLINE
  bool f7_lt (const f7_t *aa, const f7_t *bb)
@@ -541,14 +540,14 @@  extern f7_t* f7_set_u32 (f7_t*, uint32_t);
  extern void f7_set_float (f7_t*, float);
  extern void f7_set_pdouble (f7_t*, const f7_double_t*);

-F7_PURE extern int16_t f7_get_s16 (const f7_t*);
-F7_PURE extern int32_t f7_get_s32 (const f7_t*);
-F7_PURE extern int64_t f7_get_s64 (const f7_t*);
-F7_PURE extern uint16_t f7_get_u16 (const f7_t*);
-F7_PURE extern uint32_t f7_get_u32 (const f7_t*);
-F7_PURE extern uint64_t f7_get_u64 (const f7_t*);
-F7_PURE extern float f7_get_float (const f7_t*);
-F7_PURE extern f7_double_t f7_get_double (const f7_t*);
+extern int16_t f7_get_s16 (const f7_t*);
+extern int32_t f7_get_s32 (const f7_t*);
+extern int64_t f7_get_s64 (const f7_t*);
+extern uint16_t f7_get_u16 (const f7_t*);
+extern uint32_t f7_get_u32 (const f7_t*);
+extern uint64_t f7_get_u64 (const f7_t*);
+extern float f7_get_float (const f7_t*);
+extern f7_double_t f7_get_double (const f7_t*);

  #if USE_LPM == 1
    #define F7_PGMSPACE     __attribute__((__progmem__))
@@ -639,10 +638,10 @@  extern void f7_horner (f7_t*, const f7_t*, 
uint8_t, const f7_t *coeff, f7_t*);
  extern void f7_mul_noround (f7_t*, const f7_t*, const f7_t*);
  extern void f7_clr_mant_lsbs (f7_t*, const f7_t*, uint8_t) 
F7ASM(f7_clr_mant_lsbs_asm);

-F7_PURE extern int8_t f7_cmp_unordered (const f7_t*, const f7_t*, bool);
-F7_PURE extern int8_t f7_cmp_abs (const f7_t*, const f7_t*);
+extern int8_t f7_cmp_unordered (const f7_t*, const f7_t*, bool);
+extern int8_t f7_cmp_abs (const f7_t*, const f7_t*);

-F7_PURE extern bool f7_abscmp_msb_ge (const f7_t*, uint8_t msb, int16_t 
expo);
+extern bool f7_abscmp_msb_ge (const f7_t*, uint8_t msb, int16_t expo);