swar-c99-6.2.4-storage.c 1.52 KB
/* -----------------------------------------------------------------------------
 *  Copyright (C) 2018-2020 daiteq s.r.o.                http://www.daiteq.com
 *
 *  This program is distributed WITHOUT ANY WARRANTY; without even
 *  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
 *  PURPOSE.
 *
 * -----------------------------------------------------------------------------
 *  Filename    : swar-c99-6.2.4-storage.c
 *  Authors     : Roman Bartosinski
 *  Description : simple test of clang/LLVM compiler with SWAR extension
 *  Release     :
 *  Version     :
 *  Date        :
 * -----------------------------------------------------------------------------
 */

//A: --has-swar
//C: -daiteq-swar-enable

#define SWAR_USE_UNSIGNED_TYPES
#include "swar-c99.h"


su32x1b  a1;
su16x2b  a2;
su10x3b  a3;
su8x4b   a4;
su4x8b   a5;
su2x16b  a6;

static su32x1b  sa1;
static su16x2b  sa2;
static su10x3b  sa3;
static su8x4b   sa4;
static su4x8b   sa5;
static su2x16b  sa6;


int main(void)
{
  su32x1b  l1;
  su16x2b  l2;
  su10x3b  l3;
  su8x4b   l4;
  su4x8b   l5;
  su2x16b  l6;

  static su32x1b  sl1;
  static su16x2b  sl2;
  static su10x3b  sl3;
  static su8x4b   sl4;
  static su4x8b   sl5;
  static su2x16b  sl6;
  
  l1 = a1;
  l2 = a2;
  l3 = a3;
  l4 = a4;
  l5 = a5;
  l6 = a6;
  
  sl1 = sa1;
  sl2 = sa2;
  sl3 = sa3;
  sl4 = sa4;
  sl5 = sa5;
  sl6 = sa6;
  
  sa1 = l1;
  sa2 = l2;
  sa3 = l3;
  sa4 = l4;
  sa5 = l5;
  sa6 = l6;
  
  l1 = sa1;
  l2 = sa2;
  l3 = sa3;
  l4 = sa4;
  l5 = sa5;
  l6 = sa6;

  return 0;
}