diff options
Diffstat (limited to 'runtime')
-rw-r--r-- | runtime/Makefile | 10 | ||||
-rw-r--r-- | runtime/powerpc/ppc64/i64_dtou.s | 4 |
2 files changed, 11 insertions, 3 deletions
diff --git a/runtime/Makefile b/runtime/Makefile index 2fe32881..99eeaa54 100644 --- a/runtime/Makefile +++ b/runtime/Makefile @@ -9,7 +9,15 @@ LIB=libcompcert.a INCLUDES=include/float.h include/stdarg.h include/stdbool.h \ include/stddef.h include/varargs.h -VPATH=$(ARCH)/$(MODEL) $(ARCH) +VPATH=$(ARCH) + +ifeq ($(ARCH),powerpc) +ifeq ($(MODEL),ppc64) +VPATH=powerpc/ppc64 $(ARCH) +else ifeq ($(MODEL),e5500) +VPATH=powerpc/ppc64 $(ARCH) +endif +endif ifeq ($(strip $(HAS_RUNTIME_LIB)),true) all: $(LIB) diff --git a/runtime/powerpc/ppc64/i64_dtou.s b/runtime/powerpc/ppc64/i64_dtou.s index 665037ea..60d5c9bf 100644 --- a/runtime/powerpc/ppc64/i64_dtou.s +++ b/runtime/powerpc/ppc64/i64_dtou.s @@ -44,7 +44,7 @@ __i64_dtou: lis r0, 0x5f00 # 0x5f00_0000 = 2^63 in binary32 format stwu r0, -16(r1) lfs f2, 0(r1) # f2 = 2^63 - fcmpu f1, f2 # crbit 0 is f1 < f2 + fcmpu cr0, f1, f2 # crbit 0 is f1 < f2 bf 0, 1f # branch if f1 >= 2^63 (or f1 is NaN) fctidz f1, f1 # convert as signed stfd f1, 0(r1) @@ -63,4 +63,4 @@ __i64_dtou: .type __i64_dtou, @function .size __i64_dtou, .-__i64_dtou -
\ No newline at end of file + |