// RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-unknown-unknown -emit-llvm %s -o - | FileCheck %s
// Validate that volatile _Complex loads and stores are generated
// properly, including their alignment (even when overaligned).
//
// This test assumes that floats are 32-bit aligned and doubles are
// 64-bit aligned, and uses x86-64 as a target that should have this
// property.
volatile _Complex float cf;
volatile _Complex double cd;
volatile _Complex float cf32 ;
volatile _Complex double cd32 ;
// CHECK-LABEL: define{{.*}} void @test_cf()
void
// CHECK-LABEL: define{{.*}} void @test_cd()
void
// CHECK-LABEL: define{{.*}} void @test_cf32()
void
// CHECK-LABEL: define{{.*}} void @test_cd32()
void