It looks like simplify global pass doesn't take into account v128 types.
For example:
(module
(global $g (mut v128) (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000))
(start $~start)
(func (export "getG") $getG (result v128)
(global.get $g)
)
(func $~start
(global.set $g
(v128.const i32x4 0x00000003 0x00000003 0x00000003 0x00000003)
)
)
)
Cannot be optimized to:
(module
(global $g (mut v128) (v128.const i32x4 0x00000003 0x00000003 0x00000003 0x00000003))
(func (export "getG") $getG (result v128)
(global.get $g)
)
)