* [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions
@ 2021-04-22 11:27 matheus.ferst
2021-04-22 11:27 ` [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests matheus.ferst
2021-04-22 11:27 ` [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd matheus.ferst
0 siblings, 2 replies; 7+ messages in thread
From: matheus.ferst @ 2021-04-22 11:27 UTC (permalink / raw)
To: qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
From: Matheus Ferst <matheus.ferst@eldorado.org.br>
This series adds gcc-10 based images to enable the build of tests with Power10
instructions. Then, to put it to good use, a tests for the byte-reverse
instructions (implemented in 9d69cfa2faa7) is introduced.
v2:
- Unused images removed from tests/docker/Makefile.include,
tests/docker/dockerfiles, and .gitlab-ci.d/containers.yml
- Nested ppc64-* and ppc64le-* cases in tests/tcg/configure.sh
- Fixed inline assembly usage and unused header removed from
tests/tcg/ppc64le/byte_reverse.c
Matheus Ferst (2):
tests/docker: gcc-10 based images for ppc64{,le} tests
tests/tcg/ppc64le: tests for brh/brw/brd
.gitlab-ci.d/containers.yml | 11 ++--------
tests/docker/Makefile.include | 5 ++---
.../dockerfiles/debian-powerpc-cross.docker | 12 -----------
.../debian-powerpc-test-cross.docker | 17 +++++++++++++++
.../dockerfiles/debian-ppc64-cross.docker | 11 ----------
tests/tcg/configure.sh | 20 +++++++++---------
tests/tcg/ppc64/Makefile.target | 7 +++++++
tests/tcg/ppc64le/Makefile.target | 7 +++++++
tests/tcg/ppc64le/byte_reverse.c | 21 +++++++++++++++++++
9 files changed, 66 insertions(+), 45 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker
create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker
create mode 100644 tests/tcg/ppc64le/byte_reverse.c
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests
2021-04-22 11:27 [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions matheus.ferst
@ 2021-04-22 11:27 ` matheus.ferst
2021-04-23 12:54 ` Fabiano Rosas
2021-04-22 11:27 ` [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd matheus.ferst
1 sibling, 1 reply; 7+ messages in thread
From: matheus.ferst @ 2021-04-22 11:27 UTC (permalink / raw)
To: qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
From: Matheus Ferst <matheus.ferst@eldorado.org.br>
A newer compiler is needed to build tests for Power10 instructions. As
done for arm64 on c729a99d2701, a new '-test-cross' image is created for
ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support
is added to verify that the toolchain in use has '-mpower10'. Finally,
unused images (docker-power-cross and docker-ppc64-cross) are removed.
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
---
.gitlab-ci.d/containers.yml | 11 ++--------
tests/docker/Makefile.include | 5 ++---
.../dockerfiles/debian-powerpc-cross.docker | 12 -----------
.../debian-powerpc-test-cross.docker | 17 ++++++++++++++++
.../dockerfiles/debian-ppc64-cross.docker | 11 ----------
tests/tcg/configure.sh | 20 +++++++++----------
6 files changed, 31 insertions(+), 45 deletions(-)
delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker
create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker
diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
index 33e4046e23..32f1b5887f 100644
--- a/.gitlab-ci.d/containers.yml
+++ b/.gitlab-ci.d/containers.yml
@@ -144,19 +144,12 @@ mipsel-debian-cross-container:
variables:
NAME: debian-mipsel-cross
-powerpc-debian-cross-container:
+powerpc-test-debian-cross-container:
<<: *container_job_definition
stage: containers-layer2
needs: ['amd64-debian10-container']
variables:
- NAME: debian-powerpc-cross
-
-ppc64-debian-cross-container:
- <<: *container_job_definition
- stage: containers-layer2
- needs: ['amd64-debian10-container']
- variables:
- NAME: debian-ppc64-cross
+ NAME: debian-powerpc-test-cross
ppc64el-debian-cross-container:
<<: *container_job_definition
diff --git a/tests/docker/Makefile.include b/tests/docker/Makefile.include
index 9f464cb92c..3b692d67d7 100644
--- a/tests/docker/Makefile.include
+++ b/tests/docker/Makefile.include
@@ -140,8 +140,6 @@ docker-image-debian-mips-cross: docker-image-debian10
docker-image-debian-mips64-cross: docker-image-debian10
docker-image-debian-mips64el-cross: docker-image-debian10
docker-image-debian-mipsel-cross: docker-image-debian10
-docker-image-debian-powerpc-cross: docker-image-debian10
-docker-image-debian-ppc64-cross: docker-image-debian10
docker-image-debian-ppc64el-cross: docker-image-debian10
docker-image-debian-riscv64-cross: docker-image-debian10
docker-image-debian-s390x-cross: docker-image-debian10
@@ -152,13 +150,14 @@ docker-image-debian-sparc64-cross: docker-image-debian10
docker-image-debian-tricore-cross: docker-image-debian10
docker-image-debian-all-test-cross: docker-image-debian10
docker-image-debian-arm64-test-cross: docker-image-debian11
+docker-image-debian-powerpc-test-cross: docker-image-debian11
# These images may be good enough for building tests but not for test builds
DOCKER_PARTIAL_IMAGES += debian-alpha-cross
DOCKER_PARTIAL_IMAGES += debian-arm64-test-cross
+DOCKER_PARTIAL_IMAGES += debian-powerpc-test-cross
DOCKER_PARTIAL_IMAGES += debian-hppa-cross
DOCKER_PARTIAL_IMAGES += debian-m68k-cross debian-mips64-cross
-DOCKER_PARTIAL_IMAGES += debian-powerpc-cross debian-ppc64-cross
DOCKER_PARTIAL_IMAGES += debian-riscv64-cross
DOCKER_PARTIAL_IMAGES += debian-sh4-cross debian-sparc64-cross
DOCKER_PARTIAL_IMAGES += debian-tricore-cross
diff --git a/tests/docker/dockerfiles/debian-powerpc-cross.docker b/tests/docker/dockerfiles/debian-powerpc-cross.docker
deleted file mode 100644
index 07e1789650..0000000000
--- a/tests/docker/dockerfiles/debian-powerpc-cross.docker
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# Docker powerpc cross-compiler target
-#
-# This docker target builds on the debian Buster base image.
-#
-FROM qemu/debian10
-
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- gcc-powerpc-linux-gnu \
- libc6-dev-powerpc-cross
diff --git a/tests/docker/dockerfiles/debian-powerpc-test-cross.docker b/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
new file mode 100644
index 0000000000..36b336f709
--- /dev/null
+++ b/tests/docker/dockerfiles/debian-powerpc-test-cross.docker
@@ -0,0 +1,17 @@
+#
+# Docker powerpc/ppc64/ppc64le cross-compiler target
+#
+# This docker target builds on the debian Bullseye base image.
+#
+FROM qemu/debian11
+
+RUN apt update && \
+ DEBIAN_FRONTEND=noninteractive eatmydata \
+ apt install -y --no-install-recommends \
+ gcc-powerpc-linux-gnu \
+ libc6-dev-powerpc-cross \
+ gcc-10-powerpc64-linux-gnu \
+ libc6-dev-ppc64-cross \
+ gcc-10-powerpc64le-linux-gnu \
+ libc6-dev-ppc64el-cross
+
diff --git a/tests/docker/dockerfiles/debian-ppc64-cross.docker b/tests/docker/dockerfiles/debian-ppc64-cross.docker
deleted file mode 100644
index 8efe68874e..0000000000
--- a/tests/docker/dockerfiles/debian-ppc64-cross.docker
+++ /dev/null
@@ -1,11 +0,0 @@
-#
-# Docker ppc64 cross-compiler target
-#
-# This docker target builds on the debian Buster base image.
-FROM qemu/debian10
-
-RUN apt update && \
- DEBIAN_FRONTEND=noninteractive eatmydata \
- apt install -y --no-install-recommends \
- gcc-powerpc64-linux-gnu \
- libc6-dev-ppc64-cross
diff --git a/tests/tcg/configure.sh b/tests/tcg/configure.sh
index fa1a4261a4..c859b618de 100755
--- a/tests/tcg/configure.sh
+++ b/tests/tcg/configure.sh
@@ -165,18 +165,14 @@ for target in $target_list; do
;;
ppc-*|ppc64abi32-*)
container_hosts=x86_64
- container_image=debian-powerpc-cross
- container_cross_cc=powerpc-linux-gnu-gcc
+ container_image=debian-powerpc-test-cross
+ container_cross_cc=powerpc-linux-gnu-gcc-10
;;
- ppc64-*)
+ ppc64-*|ppc64le-*)
container_hosts=x86_64
- container_image=debian-ppc64-cross
- container_cross_cc=powerpc64-linux-gnu-gcc
- ;;
- ppc64le-*)
- container_hosts=x86_64
- container_image=debian-ppc64el-cross
- container_cross_cc=powerpc64le-linux-gnu-gcc
+ container_image=debian-powerpc-test-cross
+ container_cross_cc=${target%%-*}-linux-gnu-gcc-10
+ container_cross_cc=powerpc${container_cross_cc#ppc}
;;
riscv64-*)
container_hosts=x86_64
@@ -280,6 +276,10 @@ for target in $target_list; do
-mpower8-vector -o $TMPE $TMPC; then
echo "CROSS_CC_HAS_POWER8_VECTOR=y" >> $config_target_mak
fi
+ if do_compiler "$target_compiler" $target_compiler_cflags \
+ -mpower10 -o $TMPE $TMPC; then
+ echo "CROSS_CC_HAS_POWER10=y" >> $config_target_mak
+ fi
;;
i386-linux-user)
if do_compiler "$target_compiler" $target_compiler_cflags \
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests
2021-04-22 11:27 ` [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests matheus.ferst
@ 2021-04-23 12:54 ` Fabiano Rosas
2021-04-23 13:16 ` Matheus K. Ferst
0 siblings, 1 reply; 7+ messages in thread
From: Fabiano Rosas @ 2021-04-23 12:54 UTC (permalink / raw)
To: matheus.ferst, qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
matheus.ferst@eldorado.org.br writes:
> From: Matheus Ferst <matheus.ferst@eldorado.org.br>
>
> A newer compiler is needed to build tests for Power10 instructions. As
> done for arm64 on c729a99d2701, a new '-test-cross' image is created for
> ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support
> is added to verify that the toolchain in use has '-mpower10'. Finally,
> unused images (docker-power-cross and docker-ppc64-cross) are removed.
>
> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
> ---
> .gitlab-ci.d/containers.yml | 11 ++--------
> tests/docker/Makefile.include | 5 ++---
> .../dockerfiles/debian-powerpc-cross.docker | 12 -----------
> .../debian-powerpc-test-cross.docker | 17 ++++++++++++++++
> .../dockerfiles/debian-ppc64-cross.docker | 11 ----------
> tests/tcg/configure.sh | 20 +++++++++----------
> 6 files changed, 31 insertions(+), 45 deletions(-)
> delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker
> create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
> delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker
>
> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
> index 33e4046e23..32f1b5887f 100644
> --- a/.gitlab-ci.d/containers.yml
> +++ b/.gitlab-ci.d/containers.yml
> @@ -144,19 +144,12 @@ mipsel-debian-cross-container:
> variables:
> NAME: debian-mipsel-cross
>
> -powerpc-debian-cross-container:
> +powerpc-test-debian-cross-container:
> <<: *container_job_definition
> stage: containers-layer2
> needs: ['amd64-debian10-container']
Should this be debian11?
> variables:
> - NAME: debian-powerpc-cross
> -
> -ppc64-debian-cross-container:
> - <<: *container_job_definition
> - stage: containers-layer2
> - needs: ['amd64-debian10-container']
> - variables:
> - NAME: debian-ppc64-cross
> + NAME: debian-powerpc-test-cross
>
> ppc64el-debian-cross-container:
> <<: *container_job_definition
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests
2021-04-23 12:54 ` Fabiano Rosas
@ 2021-04-23 13:16 ` Matheus K. Ferst
0 siblings, 0 replies; 7+ messages in thread
From: Matheus K. Ferst @ 2021-04-23 13:16 UTC (permalink / raw)
To: Fabiano Rosas, qemu-devel
Cc: gustavo.romero, f4bug, qemu-ppc, bruno.larsen, alex.bennee, david
On 23/04/2021 09:54, Fabiano Rosas wrote:
> matheus.ferst@eldorado.org.br writes:
>
>> From: Matheus Ferst <matheus.ferst@eldorado.org.br>
>>
>> A newer compiler is needed to build tests for Power10 instructions. As
>> done for arm64 on c729a99d2701, a new '-test-cross' image is created for
>> ppc64 and ppc64le. As done on 936fda4d771f, a test for compiler support
>> is added to verify that the toolchain in use has '-mpower10'. Finally,
>> unused images (docker-power-cross and docker-ppc64-cross) are removed.
>>
>> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
>> ---
>> .gitlab-ci.d/containers.yml | 11 ++--------
>> tests/docker/Makefile.include | 5 ++---
>> .../dockerfiles/debian-powerpc-cross.docker | 12 -----------
>> .../debian-powerpc-test-cross.docker | 17 ++++++++++++++++
>> .../dockerfiles/debian-ppc64-cross.docker | 11 ----------
>> tests/tcg/configure.sh | 20 +++++++++----------
>> 6 files changed, 31 insertions(+), 45 deletions(-)
>> delete mode 100644 tests/docker/dockerfiles/debian-powerpc-cross.docker
>> create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
>> delete mode 100644 tests/docker/dockerfiles/debian-ppc64-cross.docker
>>
>> diff --git a/.gitlab-ci.d/containers.yml b/.gitlab-ci.d/containers.yml
>> index 33e4046e23..32f1b5887f 100644
>> --- a/.gitlab-ci.d/containers.yml
>> +++ b/.gitlab-ci.d/containers.yml
>> @@ -144,19 +144,12 @@ mipsel-debian-cross-container:
>> variables:
>> NAME: debian-mipsel-cross
>>
>> -powerpc-debian-cross-container:
>> +powerpc-test-debian-cross-container:
>> <<: *container_job_definition
>> stage: containers-layer2
>> needs: ['amd64-debian10-container']
>
> Should this be debian11?
>
Yes, I'll send a new version.
Thanks,
Matheus K. Ferst
Instituto de Pesquisas ELDORADO <http://www.eldorado.org.br/>
Analista de Software Júnior
Aviso Legal - Disclaimer <https://www.eldorado.org.br/disclaimer.html>
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd
2021-04-22 11:27 [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions matheus.ferst
2021-04-22 11:27 ` [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests matheus.ferst
@ 2021-04-22 11:27 ` matheus.ferst
2021-04-23 12:56 ` Fabiano Rosas
1 sibling, 1 reply; 7+ messages in thread
From: matheus.ferst @ 2021-04-22 11:27 UTC (permalink / raw)
To: qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
From: Matheus Ferst <matheus.ferst@eldorado.org.br>
Tests for Byte-Reverse Halfword, Word and Doubleword
Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
---
tests/tcg/ppc64/Makefile.target | 7 +++++++
tests/tcg/ppc64le/Makefile.target | 7 +++++++
tests/tcg/ppc64le/byte_reverse.c | 21 +++++++++++++++++++++
3 files changed, 35 insertions(+)
create mode 100644 tests/tcg/ppc64le/byte_reverse.c
diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.target
index 0c6a4585fc..55c690c8ad 100644
--- a/tests/tcg/ppc64/Makefile.target
+++ b/tests/tcg/ppc64/Makefile.target
@@ -10,4 +10,11 @@ PPC64_TESTS=bcdsub
endif
bcdsub: CFLAGS += -mpower8-vector
+ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),)
+POWER10_TESTS=byte_reverse
+RUN_POWER10_TESTS=$(patsubst %, run-%, $(POWER10_TESTS))
+$(RUN_POWER10_TESTS): QEMU_OPTS+=-cpu POWER10
+PPC64_TESTS += $(POWER10_TESTS)
+endif
+
TESTS += $(PPC64_TESTS)
diff --git a/tests/tcg/ppc64le/Makefile.target b/tests/tcg/ppc64le/Makefile.target
index 1acfcff94a..517d290b1a 100644
--- a/tests/tcg/ppc64le/Makefile.target
+++ b/tests/tcg/ppc64le/Makefile.target
@@ -9,4 +9,11 @@ PPC64LE_TESTS=bcdsub
endif
bcdsub: CFLAGS += -mpower8-vector
+ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),)
+POWER10_TESTS=byte_reverse
+RUN_POWER10_TESTS=$(patsubst %, run-%, $(POWER10_TESTS))
+$(RUN_POWER10_TESTS): QEMU_OPTS+=-cpu POWER10
+PPC64LE_TESTS += $(POWER10_TESTS)
+endif
+
TESTS += $(PPC64LE_TESTS)
diff --git a/tests/tcg/ppc64le/byte_reverse.c b/tests/tcg/ppc64le/byte_reverse.c
new file mode 100644
index 0000000000..53b76fc2e2
--- /dev/null
+++ b/tests/tcg/ppc64le/byte_reverse.c
@@ -0,0 +1,21 @@
+#include <assert.h>
+
+int main(void)
+{
+ unsigned long var;
+
+ var = 0xFEDCBA9876543210;
+ asm("brh %0, %0" : "+r"(var));
+ assert(var == 0xDCFE98BA54761032);
+
+ var = 0xFEDCBA9876543210;
+ asm("brw %0, %0" : "+r"(var));
+ assert(var == 0x98BADCFE10325476);
+
+ var = 0xFEDCBA9876543210;
+ asm("brd %0, %0" : "+r"(var));
+ assert(var == 0x1032547698BADCFE);
+
+ return 0;
+}
+
--
2.25.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd
2021-04-22 11:27 ` [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd matheus.ferst
@ 2021-04-23 12:56 ` Fabiano Rosas
0 siblings, 0 replies; 7+ messages in thread
From: Fabiano Rosas @ 2021-04-23 12:56 UTC (permalink / raw)
To: matheus.ferst, qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
matheus.ferst@eldorado.org.br writes:
> From: Matheus Ferst <matheus.ferst@eldorado.org.br>
>
> Tests for Byte-Reverse Halfword, Word and Doubleword
>
> Signed-off-by: Matheus Ferst <matheus.ferst@eldorado.org.br>
Tested in x86_64 with the new container image.
Tested-by: Fabiano Rosas <farosas@linux.ibm.com>
> ---
> tests/tcg/ppc64/Makefile.target | 7 +++++++
> tests/tcg/ppc64le/Makefile.target | 7 +++++++
> tests/tcg/ppc64le/byte_reverse.c | 21 +++++++++++++++++++++
> 3 files changed, 35 insertions(+)
> create mode 100644 tests/tcg/ppc64le/byte_reverse.c
>
> diff --git a/tests/tcg/ppc64/Makefile.target b/tests/tcg/ppc64/Makefile.target
> index 0c6a4585fc..55c690c8ad 100644
> --- a/tests/tcg/ppc64/Makefile.target
> +++ b/tests/tcg/ppc64/Makefile.target
> @@ -10,4 +10,11 @@ PPC64_TESTS=bcdsub
> endif
> bcdsub: CFLAGS += -mpower8-vector
>
> +ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),)
> +POWER10_TESTS=byte_reverse
> +RUN_POWER10_TESTS=$(patsubst %, run-%, $(POWER10_TESTS))
> +$(RUN_POWER10_TESTS): QEMU_OPTS+=-cpu POWER10
> +PPC64_TESTS += $(POWER10_TESTS)
> +endif
> +
> TESTS += $(PPC64_TESTS)
> diff --git a/tests/tcg/ppc64le/Makefile.target b/tests/tcg/ppc64le/Makefile.target
> index 1acfcff94a..517d290b1a 100644
> --- a/tests/tcg/ppc64le/Makefile.target
> +++ b/tests/tcg/ppc64le/Makefile.target
> @@ -9,4 +9,11 @@ PPC64LE_TESTS=bcdsub
> endif
> bcdsub: CFLAGS += -mpower8-vector
>
> +ifneq ($(DOCKER_IMAGE)$(CROSS_CC_HAS_POWER10),)
> +POWER10_TESTS=byte_reverse
> +RUN_POWER10_TESTS=$(patsubst %, run-%, $(POWER10_TESTS))
> +$(RUN_POWER10_TESTS): QEMU_OPTS+=-cpu POWER10
> +PPC64LE_TESTS += $(POWER10_TESTS)
> +endif
> +
> TESTS += $(PPC64LE_TESTS)
> diff --git a/tests/tcg/ppc64le/byte_reverse.c b/tests/tcg/ppc64le/byte_reverse.c
> new file mode 100644
> index 0000000000..53b76fc2e2
> --- /dev/null
> +++ b/tests/tcg/ppc64le/byte_reverse.c
> @@ -0,0 +1,21 @@
> +#include <assert.h>
> +
> +int main(void)
> +{
> + unsigned long var;
> +
> + var = 0xFEDCBA9876543210;
> + asm("brh %0, %0" : "+r"(var));
> + assert(var == 0xDCFE98BA54761032);
> +
> + var = 0xFEDCBA9876543210;
> + asm("brw %0, %0" : "+r"(var));
> + assert(var == 0x98BADCFE10325476);
> +
> + var = 0xFEDCBA9876543210;
> + asm("brd %0, %0" : "+r"(var));
> + assert(var == 0x1032547698BADCFE);
> +
> + return 0;
> +}
> +
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions
@ 2021-04-20 1:33 matheus.ferst
0 siblings, 0 replies; 7+ messages in thread
From: matheus.ferst @ 2021-04-20 1:33 UTC (permalink / raw)
To: qemu-devel
Cc: Matheus Ferst, gustavo.romero, f4bug, qemu-ppc, bruno.larsen,
alex.bennee, david
From: Matheus Ferst <matheus.ferst@eldorado.org.br>
This series adds gcc-10 based images to enable the build of tests with Power10
instructions. Then, to put it to good use, a tests for the byte-reverse
instructions (implemented in 9d69cfa2faa7) is introduced.
Matheus Ferst (2):
tests/docker: gcc-10 based images for ppc64{,le} tests
tests/tcg/ppc64le: tests for brh/brw/brd
tests/docker/Makefile.include | 2 ++
.../debian-powerpc-test-cross.docker | 17 ++++++++++++++
tests/tcg/configure.sh | 12 ++++++----
tests/tcg/ppc64/Makefile.target | 7 ++++++
tests/tcg/ppc64le/Makefile.target | 7 ++++++
tests/tcg/ppc64le/byte_reverse.c | 22 +++++++++++++++++++
6 files changed, 63 insertions(+), 4 deletions(-)
create mode 100644 tests/docker/dockerfiles/debian-powerpc-test-cross.docker
create mode 100644 tests/tcg/ppc64le/byte_reverse.c
--
2.25.1
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-04-23 13:19 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-22 11:27 [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions matheus.ferst
2021-04-22 11:27 ` [PATCH v2 1/2] tests/docker: gcc-10 based images for ppc64{, le} tests matheus.ferst
2021-04-23 12:54 ` Fabiano Rosas
2021-04-23 13:16 ` Matheus K. Ferst
2021-04-22 11:27 ` [PATCH v2 2/2] tests/tcg/ppc64le: tests for brh/brw/brd matheus.ferst
2021-04-23 12:56 ` Fabiano Rosas
-- strict thread matches above, loose matches on Subject: below --
2021-04-20 1:33 [PATCH 0/2] tests/docker: tests/tcg/ppc64le: Newer toolchain to build tests for PowerISA v3.1 instructions matheus.ferst
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).