Compile error when using "threadgroup floatNxM"

I've wrote some compute shader code as below.

#include <metal_stdlib>
using namespace metal;

kernel void main0()
{
    thread      float4x4 a; //OK
    threadgroup float4   b; //OK
    threadgroup float4x4 c; //Error
}


The last line, "threadgroup float4x4 c;" result in a compile error as below.

no matching constructor for initialization of 'threadgroup metal::float4x4' (aka 'threadgroup matrix<float, 4, 4>')


If I switch threadgroup to thread or float4x4 to float, no compile error will happen.

Is there any restriction in using "threadgroup floatNxM"?


Execution environment:

Mac mini (2018) OS 10.14.3

CPU : 3.2 GHz Intel Core i7

Xcode 10.1