ObjFW  Diff

Differences From Artifact [3babc72639]:

To Artifact [56d99bc409]:


42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
	    : "=&r"(i)
	    : "r"(i), "r"(p)
	);

	return i;
}

static OF_INLINE void*
of_atomic_ptr_add(void *volatile _Nullable *_Nonnull p, intptr_t i)
{
	__asm__ __volatile__ (
	    "0:\n\t"
	    "lwarx	%0, 0, %2\n\t"
	    "add	%0, %0, %1\n\t"
	    "stwcx.	%0, 0, %2\n\t"







|







42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
	    : "=&r"(i)
	    : "r"(i), "r"(p)
	);

	return i;
}

static OF_INLINE void *_Nullable
of_atomic_ptr_add(void *volatile _Nullable *_Nonnull p, intptr_t i)
{
	__asm__ __volatile__ (
	    "0:\n\t"
	    "lwarx	%0, 0, %2\n\t"
	    "add	%0, %0, %1\n\t"
	    "stwcx.	%0, 0, %2\n\t"
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
	    : "=&r"(i)
	    : "r"(i), "r"(p)
	);

	return i;
}

static OF_INLINE void*
of_atomic_ptr_sub(void *volatile _Nullable *_Nonnull p, intptr_t i)
{
	__asm__ __volatile__ (
	    "0:\n\t"
	    "lwarx	%0, 0, %2\n\t"
	    "sub	%0, %0, %1\n\t"
	    "stwcx.	%0, 0, %2\n\t"







|







90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
	    : "=&r"(i)
	    : "r"(i), "r"(p)
	);

	return i;
}

static OF_INLINE void *_Nullable
of_atomic_ptr_sub(void *volatile _Nullable *_Nonnull p, intptr_t i)
{
	__asm__ __volatile__ (
	    "0:\n\t"
	    "lwarx	%0, 0, %2\n\t"
	    "sub	%0, %0, %1\n\t"
	    "stwcx.	%0, 0, %2\n\t"