1# SPDX-License-Identifier: GPL-2.0 2# The loops are all 64-bit code 3CFLAGS += -m64 4CFLAGS += -I$(CURDIR) 5CFLAGS += -D SELFTEST 6CFLAGS += -maltivec 7CFLAGS += -mcpu=power4 8 9# Use our CFLAGS for the implicit .S rule & set the asm machine type 10ASFLAGS = $(CFLAGS) -Wa,-mpower4 11 12TEST_GEN_PROGS := copyuser_64_t0 copyuser_64_t1 copyuser_64_t2 \ 13 copyuser_p7_t0 copyuser_p7_t1 \ 14 memcpy_64_t0 memcpy_64_t1 memcpy_64_t2 \ 15 memcpy_p7_t0 memcpy_p7_t1 16 17EXTRA_SOURCES := validate.c ../harness.c 18 19include ../../lib.mk 20 21$(OUTPUT)/copyuser_64_t%: copyuser_64.S $(EXTRA_SOURCES) 22 $(CC) $(CPPFLAGS) $(CFLAGS) \ 23 -D COPY_LOOP=test___copy_tofrom_user_base \ 24 -D SELFTEST_CASE=$(subst copyuser_64_t,,$(notdir $@)) \ 25 -o $@ $^ 26 27$(OUTPUT)/copyuser_p7_t%: copyuser_power7.S $(EXTRA_SOURCES) 28 $(CC) $(CPPFLAGS) $(CFLAGS) \ 29 -D COPY_LOOP=test___copy_tofrom_user_power7 \ 30 -D SELFTEST_CASE=$(subst copyuser_p7_t,,$(notdir $@)) \ 31 -o $@ $^ 32 33# Strictly speaking, we only need the memcpy_64 test cases for big-endian 34$(OUTPUT)/memcpy_64_t%: memcpy_64.S $(EXTRA_SOURCES) 35 $(CC) $(CPPFLAGS) $(CFLAGS) \ 36 -D COPY_LOOP=test_memcpy \ 37 -D SELFTEST_CASE=$(subst memcpy_64_t,,$(notdir $@)) \ 38 -o $@ $^ 39 40$(OUTPUT)/memcpy_p7_t%: memcpy_power7.S $(EXTRA_SOURCES) 41 $(CC) $(CPPFLAGS) $(CFLAGS) \ 42 -D COPY_LOOP=test_memcpy_power7 \ 43 -D SELFTEST_CASE=$(subst memcpy_p7_t,,$(notdir $@)) \ 44 -o $@ $^ 45