aboutsummaryrefslogtreecommitdiff
path: root/prescheme-nim-local/nim/@msimd.nim.c
diff options
context:
space:
mode:
Diffstat (limited to 'prescheme-nim-local/nim/@msimd.nim.c')
-rw-r--r--prescheme-nim-local/nim/@msimd.nim.c188
1 files changed, 188 insertions, 0 deletions
diff --git a/prescheme-nim-local/nim/@msimd.nim.c b/prescheme-nim-local/nim/@msimd.nim.c
new file mode 100644
index 0000000..99e738c
--- /dev/null
+++ b/prescheme-nim-local/nim/@msimd.nim.c
@@ -0,0 +1,188 @@
+/* Generated by Nim Compiler v1.6.12 */
+/* Compiled for: Linux, amd64, gcc */
+/* Command for C compiler:
+ gcc -c -w -fmax-errors=3 -mavx -I/gnu/store/xqah57hhkjdyp880dvxmqpvn58g5j7mv-nim-1.6.12/lib -I/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim -o /home/wrk/.cache/nim/simd_d/@msimd.nim.c.o /home/wrk/.cache/nim/simd_d/@msimd.nim.c */
+#define NIM_INTBITS 64
+
+#include "nimbase.h"
+#include "xmmintrin.h"
+#include <string.h>
+#include "immintrin.h"
+#undef LANGUAGE_C
+#undef MIPSEB
+#undef MIPSEL
+#undef PPC
+#undef R3000
+#undef R4000
+#undef i386
+#undef linux
+#undef mips
+#undef near
+#undef far
+#undef powerpc
+#undef unix
+ # define nimfr_(proc, file) \
+ TFrame FR_; \
+ FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = 0; nimFrame(&FR_);
+
+ # define nimfrs_(proc, file, slots, length) \
+ struct {TFrame* prev;NCSTRING procname;NI line;NCSTRING filename; NI len; VarSlot s[slots];} FR_; \
+ FR_.procname = proc; FR_.filename = file; FR_.line = 0; FR_.len = length; nimFrame((TFrame*)&FR_);
+
+ # define nimln_(n, file) \
+ FR_.line = n; FR_.filename = file;
+ typedef struct NimStringDesc NimStringDesc;
+typedef struct TGenericSeq TGenericSeq;
+struct TGenericSeq {
+NI len;
+NI reserved;
+};
+struct NimStringDesc {
+ TGenericSeq Sup;
+NIM_CHAR data[SEQ_DECL_SIZE];
+};
+typedef NimStringDesc* tyArray__nHXaesL0DJZHyVS07ARPRA[1];
+typedef NF32 tyArray__9aTCwbdg1cSQimdVd0OEKVw[4];
+typedef NF tyArray__jOGfJgrdxgfAJsLC7WNNEw[4];
+N_LIB_PRIVATE N_NIMCALL(void, echoBinSafe)(NimStringDesc** args, NI argsLen_0);
+static N_INLINE(void, nimZeroMem)(void* p, NI size);
+static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size);
+N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___simd_70)(tyArray__9aTCwbdg1cSQimdVd0OEKVw x);
+N_LIB_PRIVATE N_NIMCALL(NimStringDesc*, dollar___simd_192)(tyArray__jOGfJgrdxgfAJsLC7WNNEw x);
+static N_INLINE(void, initStackBottomWith)(void* locals);
+N_LIB_PRIVATE N_NOINLINE(void, nimGC_setStackBottom)(void* theStackBottom);
+static N_INLINE(void, nimFrame)(TFrame* s);
+N_LIB_PRIVATE N_NOINLINE(void, callDepthLimitReached__system_2997)(void);
+static N_INLINE(void, popFrame)(void);
+N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_DatInit000)(void);
+N_LIB_PRIVATE N_NIMCALL(void, atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_Init000)(void);
+N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void);
+STRING_LITERAL(TM__NqVfYNeiCrBLDU2vGCYO9bA_3, "TESTING AVX", 11);
+static NIM_CONST tyArray__nHXaesL0DJZHyVS07ARPRA TM__NqVfYNeiCrBLDU2vGCYO9bA_2 = {((NimStringDesc*) &TM__NqVfYNeiCrBLDU2vGCYO9bA_3)}
+;
+N_LIB_PRIVATE __m128 a__simd_2;
+N_LIB_PRIVATE __m128 b__simd_3;
+N_LIB_PRIVATE __m128 c__simd_4;
+N_LIB_PRIVATE tyArray__jOGfJgrdxgfAJsLC7WNNEw l1__simd_122 = {1.0,
+2.1,
+3.2,
+4.3}
+;
+N_LIB_PRIVATE tyArray__jOGfJgrdxgfAJsLC7WNNEw l2__simd_123 = {0.0,
+1.1,
+2.1,
+3.3}
+;
+N_LIB_PRIVATE __m256d regs1__simd_124;
+N_LIB_PRIVATE __m256d regs2__simd_125;
+N_LIB_PRIVATE __m256d result__simd_126;
+extern TFrame* framePtr__system_2564;
+extern TFrame* framePtr__system_2564;
+extern TFrame* framePtr__system_2564;
+extern TFrame* framePtr__system_2564;
+extern TFrame* framePtr__system_2564;
+extern TFrame* framePtr__system_2564;
+static N_INLINE(void, nimSetMem__systemZmemory_7)(void* a, int v, NI size) {
+ void* T1_;
+ T1_ = (void*)0;
+ T1_ = memset(a, v, ((size_t) (size)));
+}
+static N_INLINE(void, nimZeroMem)(void* p, NI size) {
+ nimSetMem__systemZmemory_7(p, ((int) 0), size);
+}
+static N_INLINE(void, initStackBottomWith)(void* locals) {
+ nimGC_setStackBottom(locals);
+}
+static N_INLINE(void, nimFrame)(TFrame* s) {
+ {
+ if (!(framePtr__system_2564 == ((TFrame*) NIM_NIL))) goto LA3_;
+ (*s).calldepth = ((NI16) 0);
+ }
+ goto LA1_;
+ LA3_: ;
+ {
+ (*s).calldepth = (NI16)((*framePtr__system_2564).calldepth + ((NI16) 1));
+ }
+ LA1_: ;
+ (*s).prev = framePtr__system_2564;
+ framePtr__system_2564 = s;
+ {
+ if (!((*s).calldepth == ((NI16) 2000))) goto LA8_;
+ callDepthLimitReached__system_2997();
+ }
+ LA8_: ;
+}
+static N_INLINE(void, popFrame)(void) {
+ framePtr__system_2564 = (*framePtr__system_2564).prev;
+}
+
+N_LIB_PRIVATE void PreMainInner(void) {
+}
+
+N_LIB_PRIVATE int cmdCount;
+N_LIB_PRIVATE char** cmdLine;
+N_LIB_PRIVATE char** gEnv;
+N_LIB_PRIVATE void PreMain(void) {
+ void (*volatile inner)(void);
+ inner = PreMainInner;
+ atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_DatInit000();
+ initStackBottomWith((void *)&inner);
+ atmdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsdotdotatsgnuatsstoreatsxqah57hhkjdyp880dvxmqpvn58g5j7mvminusnimminus1dot6dot12atslibatssystemdotnim_Init000();
+ (*inner)();
+}
+
+N_LIB_PRIVATE N_CDECL(void, NimMainInner)(void) {
+ NimMainModule();
+}
+
+N_CDECL(void, NimMain)(void) {
+ void (*volatile inner)(void);
+ PreMain();
+ inner = NimMainInner;
+ initStackBottomWith((void *)&inner);
+ (*inner)();
+}
+
+int main(int argc, char** args, char** env) {
+ cmdLine = args;
+ cmdCount = argc;
+ gEnv = env;
+ NimMain();
+ return nim_program_result;
+}
+
+N_LIB_PRIVATE N_NIMCALL(void, NimMainModule)(void) {
+{
+ tyArray__nHXaesL0DJZHyVS07ARPRA T1_;
+ union { __m128 source; tyArray__9aTCwbdg1cSQimdVd0OEKVw dest; } LOC2;
+ tyArray__nHXaesL0DJZHyVS07ARPRA T3_;
+ union { __m256d source; tyArray__jOGfJgrdxgfAJsLC7WNNEw dest; } LOC4;
+ nimfr_("simd", "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ nimln_(12, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ echoBinSafe(TM__NqVfYNeiCrBLDU2vGCYO9bA_2, 1);
+ nimln_(16, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ a__simd_2 = _mm_set1_ps(1.0f);
+ nimln_(17, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ b__simd_3 = _mm_set1_ps(2.0f);
+ nimln_(18, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ c__simd_4 = _mm_mul_ps(a__simd_2, b__simd_3);
+ nimln_(21, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ nimZeroMem((void*)T1_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
+ LOC2.source = c__simd_4;
+ T1_[0] = dollar___simd_70(LOC2.dest);
+ echoBinSafe(T1_, 1);
+ nimln_(29, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ regs1__simd_124 = _mm256_loadu_pd(((void*) ((&l1__simd_122[(((NI) 0))- 0]))));
+ nimln_(30, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ regs2__simd_125 = _mm256_loadu_pd(((void*) ((&l2__simd_123[(((NI) 0))- 0]))));
+ nimln_(31, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ result__simd_126 = _mm256_sub_pd(regs1__simd_124, regs2__simd_125);
+ nimln_(32, "/export/local/home/wrk/iwrk/opensource/lisp/prescheme-explore/nim/simd.nim");
+ nimZeroMem((void*)T3_, sizeof(tyArray__nHXaesL0DJZHyVS07ARPRA));
+ LOC4.source = result__simd_126;
+ T3_[0] = dollar___simd_192(LOC4.dest);
+ echoBinSafe(T3_, 1);
+ popFrame();
+}
+}
+