brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.3 KiB · 01458d1 Raw
228 lines · c
1// RUN: %clang_cc1 -ffreestanding -emit-llvm-only  -triple x86_64-windows-coff -fdump-record-layouts %s | FileCheck %s --check-prefix=CHECK-MS2// RUN: %clang_cc1 -ffreestanding -emit-llvm-only  -triple x86_64-apple-darwin -fdump-record-layouts %s | FileCheck %s --check-prefix=CHECK-NOTMS3#include <x86intrin.h>4 5#pragma pack(1)6 7struct s_m64 {8  int a;9  __m64 b;10};11typedef struct s_m64 m64;12 13#if defined(_WIN32)14static int a1[(sizeof(m64) == 16) - 1];15#else16static int a1[(sizeof(m64) == 12) - 1];17#endif18 19struct s_m128 {20  int a;21  __m128 b;22};23typedef struct s_m128 m128;24 25#if defined(_WIN32)26static int a1[(sizeof(m128) == 32) - 1];27#else28static int a1[(sizeof(m128) == 20) - 1];29#endif30 31struct s_m128i {32  int a;33  __m128i b;34};35typedef struct s_m128i m128i;36 37#if defined(_WIN32)38static int a1[(sizeof(m128i) == 32) - 1];39#else40static int a1[(sizeof(m128i) == 20) - 1];41#endif42 43struct s_m128d {44  int a;45  __m128d b;46};47typedef struct s_m128d m128d;48 49#if defined(_WIN32)50static int a1[(sizeof(m128d) == 32) - 1];51#else52static int a1[(sizeof(m128d) == 20) - 1];53#endif54 55struct s_m256 {56  int a;57  __m256 b;58};59typedef struct s_m256 m256;60 61#if defined(_WIN32)62static int a1[(sizeof(m256) == 64) - 1];63#else64static int a1[(sizeof(m256) == 36) - 1];65#endif66 67struct s_m256i {68  int a;69  __m256i b;70};71typedef struct s_m256i m256i;72 73#if defined(_WIN32)74static int a1[(sizeof(m256i) == 64) - 1];75#else76static int a1[(sizeof(m256i) == 36) - 1];77#endif78 79struct s_m256d {80  int a;81  __m256d b;82};83typedef struct s_m256d m256d;84 85#if defined(_WIN32)86static int a1[(sizeof(m256d) == 64) - 1];87#else88static int a1[(sizeof(m256d) == 36) - 1];89#endif90 91struct s_m512 {92  int a;93  __m512 b;94};95typedef struct s_m512 m512;96 97#if defined(_WIN32)98static int a1[(sizeof(m512) == 128) - 1];99#else100static int a1[(sizeof(m512) == 68) - 1];101#endif102 103struct s_m512i {104  int a;105  __m512i b;106};107typedef struct s_m512i m512i;108 109#if defined(_WIN32)110static int a1[(sizeof(m512i) == 128) - 1];111#else112static int a1[(sizeof(m512i) == 68) - 1];113#endif114 115struct s_m512d {116  int a;117  __m512d b;118};119typedef struct s_m512d m512d;120 121#if defined(_WIN32)122static int a1[(sizeof(m512d) == 128) - 1];123#else124static int a1[(sizeof(m512d) == 68) - 1];125#endif126 127// CHECK-MS: *** Dumping AST Record Layout128// CHECK-MS:          0 | struct s_m64129// CHECK-MS:          0 |   int a130// CHECK-MS:          8 |   __m64 b131// CHECK-MS:            | [sizeof=16, align=8]132// CHECK-MS: *** Dumping AST Record Layout133// CHECK-MS:          0 | struct s_m128134// CHECK-MS:          0 |   int a135// CHECK-MS:         16 |   __m128 b136// CHECK-MS:            | [sizeof=32, align=16]137// CHECK-MS: *** Dumping AST Record Layout138// CHECK-MS:          0 | struct s_m128i139// CHECK-MS:          0 |   int a140// CHECK-MS:         16 |   __m128i b141// CHECK-MS:            | [sizeof=32, align=16]142// CHECK-MS: *** Dumping AST Record Layout143// CHECK-MS:          0 | struct s_m128d144// CHECK-MS:          0 |   int a145// CHECK-MS:         16 |   __m128d b146// CHECK-MS:            | [sizeof=32, align=16]147// CHECK-MS: *** Dumping AST Record Layout148// CHECK-MS:          0 | struct s_m256149// CHECK-MS:          0 |   int a150// CHECK-MS:         32 |   __m256 b151// CHECK-MS:            | [sizeof=64, align=32]152// CHECK-MS: *** Dumping AST Record Layout153// CHECK-MS:          0 | struct s_m256i154// CHECK-MS:          0 |   int a155// CHECK-MS:         32 |   __m256i b156// CHECK-MS:            | [sizeof=64, align=32]157// CHECK-MS: *** Dumping AST Record Layout158// CHECK-MS:          0 | struct s_m256d159// CHECK-MS:          0 |   int a160// CHECK-MS:         32 |   __m256d b161// CHECK-MS:            | [sizeof=64, align=32]162// CHECK-MS: *** Dumping AST Record Layout163// CHECK-MS:          0 | struct s_m512164// CHECK-MS:          0 |   int a165// CHECK-MS:         64 |   __m512 b166// CHECK-MS:            | [sizeof=128, align=64]167// CHECK-MS: *** Dumping AST Record Layout168// CHECK-MS:          0 | struct s_m512i169// CHECK-MS:          0 |   int a170// CHECK-MS:         64 |   __m512i b171// CHECK-MS:            | [sizeof=128, align=64]172// CHECK-MS: *** Dumping AST Record Layout173// CHECK-MS:          0 | struct s_m512d174// CHECK-MS:          0 |   int a175// CHECK-MS:         64 |   __m512d b176// CHECK-MS:            | [sizeof=128, align=64]177 178// CHECK-NOTMS: *** Dumping AST Record Layout179// CHECK-NOTMS:          0 | struct s_m64180// CHECK-NOTMS:          0 |   int a181// CHECK-NOTMS:          4 |   __m64 b182// CHECK-NOTMS:            | [sizeof=12, align=1]183// CHECK-NOTMS: *** Dumping AST Record Layout184// CHECK-NOTMS:          0 | struct s_m128185// CHECK-NOTMS:          0 |   int a186// CHECK-NOTMS:          4 |   __m128 b187// CHECK-NOTMS:            | [sizeof=20, align=1]188// CHECK-NOTMS: *** Dumping AST Record Layout189// CHECK-NOTMS:          0 | struct s_m128i190// CHECK-NOTMS:          0 |   int a191// CHECK-NOTMS:          4 |   __m128i b192// CHECK-NOTMS:            | [sizeof=20, align=1]193// CHECK-NOTMS: *** Dumping AST Record Layout194// CHECK-NOTMS:          0 | struct s_m128d195// CHECK-NOTMS:          0 |   int a196// CHECK-NOTMS:          4 |   __m128d b197// CHECK-NOTMS:            | [sizeof=20, align=1]198// CHECK-NOTMS: *** Dumping AST Record Layout199// CHECK-NOTMS:          0 | struct s_m256200// CHECK-NOTMS:          0 |   int a201// CHECK-NOTMS:          4 |   __m256 b202// CHECK-NOTMS:            | [sizeof=36, align=1]203// CHECK-NOTMS: *** Dumping AST Record Layout204// CHECK-NOTMS:          0 | struct s_m256i205// CHECK-NOTMS:          0 |   int a206// CHECK-NOTMS:          4 |   __m256i b207// CHECK-NOTMS:            | [sizeof=36, align=1]208// CHECK-NOTMS: *** Dumping AST Record Layout209// CHECK-NOTMS:          0 | struct s_m256d210// CHECK-NOTMS:          0 |   int a211// CHECK-NOTMS:          4 |   __m256d b212// CHECK-NOTMS:            | [sizeof=36, align=1]213// CHECK-NOTMS: *** Dumping AST Record Layout214// CHECK-NOTMS:          0 | struct s_m512215// CHECK-NOTMS:          0 |   int a216// CHECK-NOTMS:          4 |   __m512 b217// CHECK-NOTMS:            | [sizeof=68, align=1]218// CHECK-NOTMS: *** Dumping AST Record Layout219// CHECK-NOTMS:          0 | struct s_m512i220// CHECK-NOTMS:          0 |   int a221// CHECK-NOTMS:          4 |   __m512i b222// CHECK-NOTMS:            | [sizeof=68, align=1]223// CHECK-NOTMS: *** Dumping AST Record Layout224// CHECK-NOTMS:          0 | struct s_m512d225// CHECK-NOTMS:          0 |   int a226// CHECK-NOTMS:          4 |   __m512d b227// CHECK-NOTMS:            | [sizeof=68, align=1]228